非数值数据框的均值和SD

时间:2018-08-22 04:37:49

标签: r

我想找到数据框中存在的值的平均值和标准偏差,

> 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)

可以修改以在均值旁边的列中显示标准差。

1 个答案:

答案 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