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)
有没有办法做到这一点?
可以通过以下方式完成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)
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)
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |