我知道这个问题已经发布,但得到的答复是一招解决给定的问题一些其他的方式,但核心问题仍然没有答案。
问题是这样的。
somevector <- 1:5
emptyindeces <- vector()
somevector[-emptyindeces] #returns empty vector
为什么它不是原来的载体?
是否有一个原因还是我的理解是错误的。 如果是的话请告诉我正确的方式来获得索引向量的补充。
我知道这个问题已经发布,但得到的答复是一招解决给定的问题一些其他的方式,但核心问题仍然没有答案。
问题是这样的。
somevector <- 1:5
emptyindeces <- vector()
somevector[-emptyindeces] #returns empty vector
为什么它不是原来的载体?
是否有一个原因还是我的理解是错误的。 如果是的话请告诉我正确的方式来获得索引向量的补充。
emptyindices
是logical(0)
长度= 0的逻辑载体)和-emptyindices
变为integer(0)
所以,你要查询的矢量,长度= 0的指数你得到一个长度为0的整数向量。
也许你正在寻找的,例如, setdiff
:
v <- 6:10
idx1 <- c(1,3)
idx2 <- vector()
idx3 <- 1:5
v[setdiff(seq_along(v), idx1)]
# [1] 7 9 10
v[setdiff(seq_along(v), idx2)]
# [1] 6 7 8 9 10
v[setdiff(seq_along(v), idx3)]
# integer(0)
那是因为-0 = 0
? 但我可以看到一个算法可以碰到问题,如果这方面的过度期待。 因此,我建议使用setdiff
而不是负指数。
somevector < - C(1:5,NA,8)
sumvec <-subset(somevector,!is.na(somevector))
也不太清楚,如果这是你想要的,但让我知道,如果你想要一些不同的东西,所以我可以纠正我的答案。 答案hashtagged是另一种答案,如果这就是你要找的人。