我正在尝试创建一个汇总表,显示数据框中向量中唯一值的数量。
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不能正常工作,因为它更快更简洁。提前感谢任何提示。