我有一个简单而奇怪的问题。
indices.list是一个列表,包含118,771个元素(整数或数字)。通过应用函数unlist,我失去了大约500个元素。
请查看以下代码:
> indices <- unlist(indices.list, use.names = FALSE)
>
> length(indices.list)
[1] 118771
> length(indices)
[1] 118248
怎么可能?我检查了indices.list是否包含任何NA。但事实并非如此:
> any(is.na(indices.list) == TRUE)
[1] FALSE
data.set.merged是一个包含超过200,000行的数据框。当我使用向量索引(显然长度为118,248)以获取data.set.merged的子集时,我得到一个118,771行的数据帧!那太奇怪了!
data.set.merged.2 <- data.set.merged[indices, ]
> nrow(data.set.2)
[1] 118771
这里有什么想法吗?
答案 0 :(得分:10)
嗯,对于你的第一个谜,可能的解释是indices.list
的某些元素是NULL
,这意味着当你使用unlist
时它们会消失:
unlist(list(a = 1,b = "test",c = 2,d = NULL, e = 5))
a b c e
"1" "test" "2" "5"