2015-11-06 92 views
3

我正在計算向量中唯一元素的數量,但不包括NA元素。r中不包含NA的唯一元素的數量

基本上,我想使用類似length(unique(x))與na.rm = TRUE參數,所以,如果我有length(unique(c(1,2,3,NA,2)))將返回3

我試圖data.table uniqueN但這也沒有這個選項。有沒有一種快速簡單的方法來做到這一點,而不必在列上做兩個單獨的操作?

+3

我想你想'na.omit()'。我認爲'長度(獨特(na.omit(x)))'會適合你。或者使用'x [!is.na(x)]' –

回答

6

您可以使用na.omit第一:

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

另外,從n_distinct有dplyr的na_rm說法:

library(dplyr) 
n_distinct(x, na_rm = TRUE) 
3

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

相關問題