【发布时间】:2021-01-11 08:42:16
【问题描述】:
> a <- sample(c(1:10), 20, replace = TRUE)
> a
[1] 6 3 6 2 6 9 3 9 9 8 2 10 7 9 1 5 3 10 5 5
> a[c(TRUE,FALSE)]
[1] 6 6 6 3 9 2 7 1 3 5
为什么 a[c(TRUE,FALSE)] 给了我数组的奇数元素? c(TRUE, FALSE) 的长度为 2。在我看来,这应该给我一个索引 1,即 TRUE。
为什么会这样?
【问题讨论】:
-
向量
c(TRUE,FALSE)被循环到a的长度,从而成为TRUE和FALSE交替的向量。 -
为了说明,请尝试:
cbind.data.frame(x = 1:10, odd = c(TRUE, FALSE), even = c(FALSE, TRUE)) -
好的,@zx8754,你的解释很好地澄清了我的问题。谢谢。