我想找到数据框中存在的值的平均值和标准偏差,
> print(Data)
Description X24386
0 A 65.8751
1 A 152.6380
2 A 90.0535
3 A NA
4 B 74.4218
5 B 77.7234
6 B 79.7033
7 B 72.5045
8 C 79.3704
9 C 81.9795
使用dcast聚合,我可以将数据分组并找到均值
result<-dcast(D, Description ~ . ,fun.aggregate=mean)
> print(result)
Description .
1 B 76.08
2 C 80.67
3 A NA
由于A组的某一行中存在非数字值,因此平均值为NA。
我正在寻找一种语法,通过该语法我可以计算包含数值的列的平均值。我查看了帖子here
中给出的答案由于我想找到特定列的均值,因此在为我的案例实现它时遇到了麻烦。
此外,我想征询有关
的建议result<-dcast(D, Description ~ . ,fun.aggregate=mean)
可以修改以在均值旁边的列中显示标准差。
答案 0 :(得分:3)
您可以将na.rm = TRUE
的{{1}}参数(请参见mean
)添加到?mean
的末尾:
dcast
如果您也想要标准偏差,我将改用dcast(D, Description ~ . ,fun.aggregate=mean, na.rm = TRUE)
Description .
1 A 102.85553
2 B 76.08825
3 C 80.67495
,以便您可以对数据进行分组,然后根据需要进行多次汇总。
dplyr
您也可以使用library(dplyr)
D %>%
group_by(Description) %>%
summarise(Mean = mean(X24386, na.rm = TRUE),
SD = sd(X24386, na.rm = TRUE))
# A tibble: 3 x 3
Description Mean SD
<chr> <dbl> <dbl>
1 A 103. 44.8
2 B 76.1 3.23
3 C 80.7 1.84
:
aggregate