设a< -c(3,4,7,8)和b< -c(TRUE,TRUE,FALSE,FALSE),R表达式和(a [b])的输出是什么。答案是7,但是如何?
答案 0 :(得分:0)
在R中,向量(问题中的a
)可以是带有逻辑索引向量的子集(问题中为b
)。如果逻辑向量中的相应成员为TRUE
,则保留(a
)元素。
a = c (3, 4, 7, 8)
b = c(TRUE, TRUE, FALSE, FALSE)
a[b]
#[1] 3 4
a[b]
将仅保留a
的前两个元素,因为TRUE
中只有b
的值sum
。当您3
4
和7
时,a[ b[1:3] ]
[1] 3 4 8 # the fourth item in `a` appears because the logical vector is "recycled"
如果你给" ["函数一个比作为子集的向量短的向量,你可能得到令人惊讶的结果(并且不会出现警告):
awk