小编bul*_*boy的帖子

或者运算符在 R 中的行为不符合预期

有人可以解释一下这里的 Or 运算符 (|) 是怎么回事吗?我只是想编写一个简单的函数来测试元素是否在向量中。但是,当我使用 | 传递两个都不在向量中的值时 运算符它给了我一个误报(见最后一行)。其他一切似乎都按预期进行......

v <- c(1,2,3)

if (1 %in% v){print('present')}else{print('not present')}
# [1] "present"

if (1&2 %in% v){print('present')}else{print('not present')}
# [1] "present"
 
if (1|2 %in% v){print('present')}else{print('not present')}
# [1] "present"

if (4 %in% v){print('present')}else{print('not present')}
# [1] "not present"
 
if (1&4 %in% v){print('present')}else{print('not present')}
# [1] "not present"
 
if (1|4 %in% v){print('present')}else{print('not present')}
# [1] "present"
 
if (4&5 %in% v){print('present')}else{print('not present')}
# [1] "not present"
 
if (4|5 %in% v){print('present')}else{print('not present')}
#[1] "present"
Run Code Online (Sandbox Code Playgroud)

r

1
推荐指数
1
解决办法
46
查看次数

标签 统计

r ×1