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