我得到了一个如下所示的数据集(df):
LETTER | VALUE |
A | 2 |
A | 3 |
B | 4 |
B | NA |
B | 6 |
B | NA |
C | NA |
C | NA |
我正在寻找一种基于每个LETTER的均值来创建第二个数据库(new_df)的方法。但我需要知道哪个字母有NA。
new_df应如下所示:
LETTER | VALUE |
A | 2,5 |
B | 5 |
C | NA |
这是我尝试过的代码:
new_df <- aggregate(as.numeric(VALUE) ~ LETTER, df, mean)
它的问题在于它省略了NA并且只返回它:
LETTER | VALUE |
A | 2,5 |
B | 5 |
你能帮忙吗?
答案 0 :(得分:3)
您可以更改aggregate(as.numeric(VALUE) ~ LETTER, df, function(x) mean(x, na.rm=TRUE),
na.action = na.pass)
{{1}}