不知道为什么 R 无法正确计算我的数据的平均值。我确实有很多 NA 值,但 R 一直告诉我平均值是 NA。这是一个例子:
data1=read_excel"pepper.xlsx"
data1$cultivar = as.factor(data1$cultivar)
mean = aggregate(data1[,3:4], list(data1$cultivar), mean)
而不是计算 BOF
的平均宽度11 和平均值 height
为 14.5,它将高度和宽度的平均值计算为 NA。这是我的数据的过度简化。我的研究中有几个品种,并使用 aggregate
计算了每个品种的每个变量的平均值。功能。
最佳答案
更新: 不需要匿名函数(归功于 Gregor Thomas,请参阅评论)。我们可以使用:
summarise(across(where(is.numeric), mean, na.rm = TRUE))
第一个答案:
感谢 Gregor Thomas,colMeans
在这里不起作用。
我们可以使用dplyr
包summarise
和across
library(dplyr)
df %>%
group_by(cultivar) %>%
summarise(across(where(is.numeric),~ mean(., na.rm = TRUE)))
输出:
cultivar replication width height
<chr> <dbl> <dbl> <dbl>
1 BOF 2.5 11 14.5
关于R 无法使用聚合函数正确计算平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67728742/