dplyr过滤意外结果

时间:2017-07-25 23:14:33

标签: r filter dplyr

我在使用dplyr :: filter时遇到了一些问题。我有一个带有两个数字列的简单表。当我尝试过滤时,它允许我过滤一些值而不是其他值。这似乎是dplyr :: filter的基本用法(因此,我的错误应该很明显),但我一直无法弄清楚我哪里出错了。 R 3.4.1。 dplyr 0.7.2。 Windows机器。不确定其他信息会有什么帮助(如果有的话)。

示例:

cad.df <- expand.grid(
  ca.prop = seq(0.1, 1, 0.1),
  fl_m = seq(0.070, 0.130, 0.020)
)

library(dplyr)

cad.df %>%
  filter(fl_m == 0.070)  # works

   ca.prop fl_m
1      0.1 0.07
2      0.2 0.07
3      0.3 0.07
4      0.4 0.07
5      0.5 0.07
6      0.6 0.07
7      0.7 0.07
8      0.8 0.07
9      0.9 0.07
10     1.0 0.07

cad.df %>%
  filter(fl_m == 0.090)  # does not work

[1] ca.prop fl_m   
<0 rows> (or 0-length row.names)

cad.df %>%
  filter(fl_m == 0.110)  # does not work

[1] ca.prop fl_m   
    <0 rows> (or 0-length row.names)

cad.df %>%
  filter(fl_m == 0.130)  # works

   ca.prop fl_m
1      0.1 0.13
2      0.2 0.13
3      0.3 0.13
4      0.4 0.13
5      0.5 0.13
6      0.6 0.13
7      0.7 0.13
8      0.8 0.13
9      0.9 0.13
10     1.0 0.13

unique(cad.df$fl_m)

[1] 0.07 0.09 0.11 0.13

其他人有这样的经历吗?或者看看我做错了什么?

感谢您的帮助。

干杯

0 个答案:

没有答案