【发布时间】:2022-01-25 17:30:08
【问题描述】:
我有两个向量:
a = strsplit("po","")[[1]]
[1] "p" "o"
b = strsplit("polo","")[[1]]
[1] "p" "o" "l" "o"
我正在尝试使用== 比较它们。
不幸的是,a==b 给出了意想不到的结果。
a==b
[1] TRUE TRUE FALSE TRUE
虽然我希望:
[1] TRUE TRUE FALSE FALSE
那么,是什么原因造成的呢?怎样才能达到预期的效果?
问题似乎与两个向量的最后一个元素与将b 更改为例如相同的事实有关。 polf 确实给出了预期的结果,并且还因为将 b 设置为 pooo 给出了 TRUE TRUE FALSE TRUE 而不是 TRUE TRUE TRUE TRUE。
编辑
换句话说,我希望丢失的元素(当长度不同时)被当作空传递(只有"" 似乎给出了TRUE TRUE FALSE FALSE、NA 和NULL 给出不同的结果)。
c("p","o","","")==c("p","o","l","o")
[1] TRUE TRUE FALSE FALSE
【问题讨论】:
-
为了得到
FALSE,“l”和“o”是什么意思? -
@jpdugo17 我编辑了我的答案以使其更清晰。在某种程度上,我希望将“l”和“o”与什么都没有比较,所以基本上总是返回
F。
标签: r string string-comparison