我遇到了一个我认为是bug的问题。虽然不是个大问题,但我很好奇是否还有其他人遇到过这个问题。不幸的是,我的数据是机密的,所以我必须举一个例子,但它可能并不会太有帮助。
在对我的数据进行子集操作时,偶尔会出现神秘的NA行,而这些行在我的原始数据框中是不存在的。即使是行名称也是NA。例如:
example <- data.frame("var1"=c("A", "B", "A"), "var2"=c("X", "Y", "Z"))
example
var1 var2
1 A X
2 B Y
3 A Z
然后我运行:
example[example$var1=="A",]
var1 var2
1 A X
3 A Z
NA<NA> <NA>
当然,上面的例子实际上并没有给你这个神秘的NA行;我在这里添加它是为了说明我在处理数据时遇到的问题。
也许这与我使用Google的read.xlsx包导入原始数据集,然后执行宽变长重塑再进行子集化有关。
谢谢
example[c(1, 2, 4),]
或example[c(TRUE, TRUE, FALSE, TRUE),]
。检查用于子集化行的向量的长度(如果是布尔型)和最大值(如果是数字型)。 - David Robinsonstr(yourdata)
和summary(yourdata)
将会对你有很大帮助。我有一种感觉你的var
列中至少有一个NA
。测试一下:example <- data.frame("var1"=c("A", "B", "A", NA), "var2"=c("Q", "X", "Y", "Z")); example[example$var=='A',]
- Justind[d$v == x, ]
),那么问题几乎肯定是列中存在缺失值(NA
)。 - David Robinson