如何获得所选商品的数量?

Met*_*fan 6 r frequency subset

我想以数组格式列出每个Diet组(有四个)中有多少个Time> 21。

我试图在RStudio中解决此问题。

data(ChickWeight)
newdata <- subset(ChickWeight, Time >= 21, select=Diet)
Run Code Online (Sandbox Code Playgroud)

为了找到newdata中有多少个观测值,我使用了 nrow(newdata),但是我想通过使它成为该表达式的一部分来找出符合标准的观测值:

newdata <- subset(ChickWeight, Time >= 21, select=Diet) 
Run Code Online (Sandbox Code Playgroud)

这样,当我显示newdata表格时,表格中还将包含符合条件的观察值的数量。

需求输出:

Diet   Number Observations
1      200 (I just created the numbers for this column as examples)
2       75
3      150
4      100 
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

M--*_*M-- 5

可以通过以下方式完成base

transform(table(Diet=subset(ChickWeight, Time >= 21, select=Diet)))

#>   Diet Freq
#> 1    1   16
#> 2    2   10
#> 3    3   10
#> 4    4    9
Run Code Online (Sandbox Code Playgroud)


avi*_*seR 1

We can do this with summarize from dplyr:

library(dplyr)

newdata %>%
  group_by(Diet) %>%
  summarize(Num_Obs = n())
Run Code Online (Sandbox Code Playgroud)

We can even combine the subset to a single dplyr workflow:

ChickWeight %>%
  filter(Time >= 21) %>%
  group_by(Diet) %>%
  summarize(Num_Obs = n())
Run Code Online (Sandbox Code Playgroud)

Output:

# A tibble: 4 x 2
  Diet  Num_Obs
  <fct>   <int>
1 1          16
2 2          10
3 3          10
4 4           9
Run Code Online (Sandbox Code Playgroud)