我有一个data.frame“硝酸盐”。而且我必须计算值的平均值。 当我使用时:
mean(nitrates)
它给了我NA警告:
警告信息: 在mean.default(nitrates)中:参数不是数字或逻辑:返回NA
我想计算数据的平均值。我该怎么办?
答案 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)