r中不含NA的唯一元素数

r中不含NA的唯一元素数,r,R,我希望计算向量中唯一元素的数量,但不包括NA元素 基本上,我想在na.rm=TRUE参数中使用类似length(unique(x))的东西,这样如果我有length(unique(c(1,2,3,na,2))将返回3 我尝试了data.tableuniqueN,但它也没有这个选项。有没有一种简单快捷的方法来实现这一点,而不必对列执行两个单独的操作?您可以使用na。先省略: x <- c(1,2,3,NA,2) length(unique(na.omit(x))) data.table::

我希望计算向量中唯一元素的数量,但不包括NA元素

基本上,我想在na.rm=TRUE参数中使用类似
length(unique(x))
的东西,这样如果我有
length(unique(c(1,2,3,na,2))
将返回
3


我尝试了data.table
uniqueN
,但它也没有这个选项。有没有一种简单快捷的方法来实现这一点,而不必对列执行两个单独的操作?

您可以使用
na。先省略

x <- c(1,2,3,NA,2)
length(unique(na.omit(x)))

data.table::uniqueN
在v1.9.7+版本中有
na.rm

我想您需要
na.omit()
。我认为
length(unique(na.omit(x))
适合您。或者只需使用
x[!is.na(x)]
感谢na.omit(x)提示。这对我有帮助!
library(dplyr)
n_distinct(x, na.rm = TRUE)