如何计算R中数据帧的均值?

时间:2020-08-27 16:20:37

标签: r dataframe mean

我有一个data.frame“硝酸盐”。而且我必须计算值的平均值。 当我使用时:

mean(nitrates)

它给了我NA警告:

警告信息: 在mean.default(nitrates)中:参数不是数字或逻辑:返回NA

我想计算数据的平均值。我该怎么办?

1 个答案:

答案 0 :(得分:0)

假设您有一个包含字符串和数字列混合的数据框。由于mean是为数字值定义的,因此您需要先选择数字列,然后再取平均值。我没有您的数据框,因此我提供了另一个数据框的示例,但是您可以将storms替换为nitrates

library('dplyr')
data('storms')

# mean for each column
storms %>% select_if(is.numeric) %>% apply(2, mean, na.rm=T)

# mean for each row
storms %>% select_if(is.numeric) %>% apply(1, mean, na.rm=T)

# mean over all elements
storms %>% select_if(is.numeric) %>% as.matrix() %>% mean(na.rm=T)