返回相同%我有一些奇怪的事情比较两个向量时:[R为什么 “==” 操作未%
individuals=c("A","C","X","Z")
m=c("A", "B", "C", "D", "E", "F", "X", "Z")
individuals == m
它返回:TRUE FALSE FALSE假假假TRUE TRUE
在末端为:
which(individuals == m)
其中返回:1 7 8
我错过了什么?
返回相同%我有一些奇怪的事情比较两个向量时:[R为什么 “==” 操作未%
individuals=c("A","C","X","Z")
m=c("A", "B", "C", "D", "E", "F", "X", "Z")
individuals == m
它返回:TRUE FALSE FALSE假假假TRUE TRUE
在末端为:
which(individuals == m)
其中返回:1 7 8
我错过了什么?
你得到的结果确实是正确的。
individuals | m | res
A | A | T
B | C | F
C | X | F
D | Z | F
它,然后回收m
:
individuals | m | res
E | A | F
F | C | F
X | X | T
Z | Z | T
如果你想检查的m
元素是individuals
使用%in%
:
R
每个值两两比较
m %in% individuals
# TRUE FALSE TRUE FALSE FALSE FALSE TRUE TRUE
我们可以使用match
!is.na(match(m, individuals))
#[1] TRUE FALSE TRUE FALSE FALSE FALSE TRUE TRUE
的原因意想不到的结果是如何==
比较再循环元件在“个体”被复制到的“M”的长度,即该值向量
rep(individuals, length.out = length(m))
#[1] "A" "C" "X" "Z" "A" "C" "X" "Z"
m==rep(individuals, length.out = length(m))
#[1] TRUE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
什么将会是你的预期结果,也许你想'%in%' – user20650
抱歉,我应该有精确的,是为哪个(个人==米)测试。与%在%的工作。 – Bas