【发布时间】:2021-06-16 05:06:45
【问题描述】:
我有两个逻辑向量。
a <- c(1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
b <- c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
当我尝试将 b 子集化为 a 时
b[which(a == 1)]
一切都如我所料。但是,像这样
b[a]
我得到不同的结果。
为什么?可能解释很明显,但我完全不明白......
【问题讨论】:
-
你没有逻辑向量。它们显然是数字。
-
@Roland 好的。你有我的问题的答案吗?
-
是的,但是 Henrik 已经告诉过您在哪里可以找到答案。他的建议很好。每个 R 用户都应该研究过该文档并定期重读。我这样做了。