比较两个向量时我有些奇怪:
<p class="form-row form-row form-row form-row-first validate-required woocommerce-validated" id="billing_email_field">
<label for="billing_email" class="">Email <abbr class="required" title="required">*</abbr></label>
<input type="text" class="input-text " name="billing_email" id="billing_email" placeholder="Email" value="abc@gmail.com"></p>
<span class="message"></span>
返回:TRUE FALSE FALSE FALSE FALSE FALSE TRUE
最后是:
individuals=c("A","C","X","Z")
m=c("A", "B", "C", "D", "E", "F", "X", "Z")
individuals == m
返回:1 7 8
我缺少什么?
答案 0 :(得分:4)
你得到的结果确实是正确的
R
成对比较每个值:
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%
中使用m %in% individuals
# TRUE FALSE TRUE FALSE FALSE FALSE TRUE TRUE
:
using
答案 1 :(得分:2)
我们可以使用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