使用 %in% seq() 时,某些元素不会显示为 R 中序列的成员

问题描述 投票:0回答:0

我正在尝试使用 R 中的 %in% 运算符检查数字序列中是否存在值。该序列是使用 seq() 函数生成的,步长为 0.01,范围从 0.50 到 1.10。

以下是我尝试过的不同输入:

.55 %in% seq(.50, 1.1, by = .01)
.57 %in% seq(.50, 1.1, by = .01)

".55" %in% seq(.50, 1.1, by = .01)
".57" %in% seq(.50, 1.1, by = .01)

"0.55" %in% seq(.50, 1.1, by = .01)
"0.57" %in% seq(.50, 1.1, by = .01)

0.55 %in% seq(.50, 1.1, by = .01)
0.57 %in% seq(.50, 1.1, by = .01)

然而,这些输入的输出是令人困惑和出乎意料的:

[1] TRUE
[1] FALSE

[1] FALSE
[1] FALSE

[1] TRUE
[1] TRUE

[1] TRUE
[1] FALSE
  1. 有谁知道为什么 .55 在序列中被识别,但 .57 不是?

  2. 为什么当我们添加一个前导零并加上引号时它返回 TRUE?

  3. 没有前导零的报价怎么会返回 FALSE?

r sequence
© www.soinside.com 2019 - 2024. All rights reserved.