【发布时间】:2020-07-10 21:59:02
【问题描述】:
我创建了一个示例数据集,其中包含缺少某些信息的列。这个数据集非常小,但我的真实数据包含 100 000 个项目。我想添加一个额外的列,作为指定列中缺失数据的指标。
我正在寻找一个 data.table 解决方案,它创建一个名为incomplete 的新列,即1 是列age, reported, aregion, ausage 和/或 afruitcontain NA,否则@ 987654325@是0
fruit = c("Apple", "Kiwi", "Banana", "Orange", "Blueberry", "Banana", "Orange", "Blueberry", NA, NA)
usage = c("cooking", "cooking", NA , "drinking", "medicine", NA, "drinking", "medicine", NA, "medicine")
age = c (22,34, 4, 66, NA, 18, 46, NA, 22, 77)
reported = c(200, 500, 77, 520, 303, NA, NA, NA, 44, 55)
aregion = c(NA, NA, 5, 2, 5, 7, 2, NA, 77, 33)
ausage = c("cooking", "cooking", "medicine", NA, "drinking", "medicine", NA, "drinking", "drinking", "Blueberry")
afruit = c("Apple", "Kiwi", "Banana", "Orange", "Blueberry", "Banana", "Orange", "Blueberry", "Blueberry", "Blueberry")
incomplete = c(1,1,0,1,1,1,1,1,0,0)
exdata <- cbind(fruit, usage, age, reported, aregion, ausage, afruit)
exdata <- as.data.table(data)
那么想要的结果是:
> exdata
fruit usage age reported aregion ausage afruit incomplete
[1,] "Apple" "cooking" "22" "200" NA "cooking" "Apple" "1"
[2,] "Kiwi" "cooking" "34" "500" NA "cooking" "Kiwi" "1"
[3,] "Banana" NA "4" "77" "5" "medicine" "Banana" "0"
[4,] "Orange" "drinking" "66" "520" "2" NA "Orange" "1"
[5,] "Blueberry" "medicine" NA "303" "5" "drinking" "Blueberry" "1"
[6,] "Banana" NA "18" NA "7" "medicine" "Banana" "1"
[7,] "Orange" "drinking" "46" NA "2" NA "Orange" "1"
[8,] "Blueberry" "medicine" NA NA NA "drinking" "Blueberry" "1"
[9,] NA NA "22" "44" "77" "drinking" "Blueberry" "0"
[10,] NA "medicine" "77" "55" "33" "Blueberry" "Blueberry" "0"
【问题讨论】:
标签: r data.table