【问题标题】:Selecting rows with at least one missing value (NA) in a data.table [duplicate]在data.table中选择具有至少一个缺失值(NA)的行[重复]
【发布时间】:2017-11-20 23:01:20
【问题描述】:

在数据表中选择具有至少一个 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...)就不方便了。

有没有更好的方法?

【问题讨论】:

  • 非常感谢您的回答!另外,我不认为我的问题是重复的,因为另一个问题没有提到标题中的缺失值。您必须了解完整/不完整案例的概念才能找到它。这就是为什么我搜索了 15 分钟没有找到任何答案,这就是我问它的原因。

标签: r data.table na


【解决方案1】:

使用complete.cases 并取反。

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

【讨论】:

  • 我编辑了答案以添加代码行
猜你喜欢
  • 2020-11-19
  • 2017-10-20
  • 2013-03-07
  • 2022-06-22
  • 2017-03-11
  • 2019-10-15
  • 1970-01-01
  • 2017-04-11
  • 1970-01-01
相关资源
最近更新 更多