1
我得到奇怪的错误mutate
在dplyr
行。这里有一个例子:dplyr:行错误与NA错误
set.seed(1)
df <- data.frame(a = rnorm(5), b = rnorm(5))
df[2,'b'] <- NA
没有与sum
没有问题,但汇总函数是有问题的:
mutate(rowwise(df), sum(a, b, na.rm = T)) # works
mutate(rowwise(df), mean(a, b, na.rm = T))
#! Error: missing value where TRUE/FALSE needed
mutate(rowwise(df), median(a, b, na.rm = T))
#! Error: unused argument (-0.820468384118015)
现在,我们可以尝试NA
在第一列:
df <- data.frame(a = rnorm(5), b = rnorm(5))
df[2,'a'] <- NA
mutate(rowwise(df), sum(a, b, na.rm = T)) # works
mutate(rowwise(df), mean(a, b, na.rm = T))
#! no error, but returns `NaN`
mutate(rowwise(df), median(a, b, na.rm = T))
#! Error: unused argument (-0.820468384118015)
我不确定我在这里做错了什么。我认为预期的行为应该是相同的:
as.data.frame(apply(df, 1, mean, na.rm = T)
谢谢!
尝试'df%>%rowwise()%>%mutate(Mean = mean(c(a,b ),na.rm = TRUE))' – akrun