在dplyr中使用缺少值的n_distinct作为汇总的一部分

时间:2015-12-11 16:30:55

标签: r dplyr

我正在尝试创建一个汇总表,显示数据框中向量中唯一值的数量。

df <- data.frame(x = c(1, 2, 3, 4, NA))

当不使用汇总时,na_rm参数有效:

n_distinct(df$x)
n_distinct(df$x, na_rm = T)

但是当用作汇总的一部分时,它不会:

summarise(df, freq = n_distinct(x))
summarise(df, freq = n_distinct(x, na_rm = T))

我有一个解决方案:

summarise(df, freq = length(unique(x)))
summarise(df, freq = length(unique(x[complete.cases(x)])))

但我想知道为什么n_distinct不能正常工作,因为它更快更简洁。提前感谢任何提示。

0 个答案:

没有答案