2017-06-18 112 views
1

在數據表中選擇多個變量的行的便利方式是什麼?至少有一個NA值。我找到了一種方法,但是如果有許多變量可供選擇,這是不方便的。選擇data.table中至少有一個缺失值(NA)的行

這裏是工作示例:

library(data.table) 

# Create a data table 
DT <- data.table(V1=1:5, V2=LETTERS[1:5]) 

# Insert some missing values 
DT[c(1,3),V1 := NA] 
DT[c(1,2),V2 := NA] 

# Check the output 
print(DT) 

    V1 V2 
1: NA NA 
2: 2 NA 
3: NA C 
4: 4 D 
5: 5 E 

# Select if there is at least one NA: 
# My solution: 

myDT <- DT[is.na(V1) | is.na(V2), ] 

# Check output 
print(myDT) 

    V1 V2 
1: NA NA 
2: 2 NA 
3: NA C 

所以這個解決方案的工作,但是不是方便,如果有更多的變數(V1,V2,V3,...)。

有沒有更好的辦法做到這一點?

+0

非常感謝您的回答!另外,我不認爲我的問題是重複的,因爲另一個問題沒有提及標題中的缺失值。你必須知道完整/不完整案例的概念才能找到它。這就是爲什麼我沒有找到15分鐘搜索的任何答案,這就是爲什麼我問它。這裏 –

+1

否定溶液:與data.frame NAS(缺失值)取下行數](https://stackoverflow.com/questions/4862178/remove-rows-with-nas-missing-values-in-data-frame ) – Henrik

回答

1

使用complete.cases,只是利用它的對面。

myDT <- DT[!complete.cases(V1,V2), ] 
+0

的帖子的時候您的評論我的回答是小於2秒間隔。如果您有答案,請發佈答案。 –

+0

這是公平的,我回答問題很少,不知道有一個傻瓜。 –

+1

我編輯答案來添加代碼行 –

相關問題