1

我有一个名为“x”的数据框,有几列和 592 行。

    > x[x$n.bounces >= 1, ][["magnitude"]]
  [1] 0.30 0.50 0.30 0.20 0.30 0.20 0.70 0.50 0.40 0.50 1.00 1.30 0.50 0.20 2.00 0.40 0.50 3.50 0.20 0.50 0.30 0.21 0.50 0.20 0.80
 [26] 0.30 0.30 0.60 0.30 1.00 1.90 1.20 0.30 1.50 0.81 0.20 0.80 0.60 3.40 1.20 2.40 1.40 0.20 1.70 1.20 1.40 2.40 0.40 0.80 1.70
 [51] 0.80 0.80 0.48 0.70 0.20 0.80 8.30 0.50 3.80 1.30 0.50 2.90 0.40 1.80 3.20 2.10 0.40 0.90 1.30 0.40 1.80 0.20 1.30 0.30 0.50
 [76] 0.30 0.70 0.30 0.40 2.00 0.60 0.30 0.70 1.10 0.20 2.70 0.40 0.80 1.90 0.30 0.60 1.00 1.30 1.10 0.90 0.50 0.70 0.70 0.20 0.30
[101] 0.20 0.50 2.10 1.60 0.20 0.20 0.60 0.20 0.33 0.60 0.60 0.30 0.50 0.40 0.50 0.30 0.70 0.90 0.50 0.60 1.50 3.20 0.20 4.20 2.30
[126] 1.40 0.30 0.50 0.20 0.90 0.50 3.10 0.50 0.20 2.30 0.60 0.20 5.50 0.50 1.00 1.00 0.60 1.50 3.00 0.80 1.30 0.20 4.09 0.20 0.40
[151] 0.20 0.20 1.30 0.50 1.00 2.10 1.50 1.70 0.20 3.60 1.60 0.20 0.20 0.70 1.50 0.20 0.20 1.00 0.30 0.30 2.80 0.80 0.30 0.20 0.23
[176] 2.00 1.00 0.92 0.80 0.33 0.80 1.10 0.20 0.60 1.50 0.30 0.53 0.35 0.30 0.43 0.50 8.80 0.20 0.30 1.10 0.22 4.70 0.20 0.21 1.10
[201] 0.30 1.50 0.50 0.20 0.20 0.20 0.64 0.20 0.80 0.20 0.43 0.40 0.20 0.40 0.40 0.20 0.30

> dput(x[x$n.bounces >= 1, ][["magnitude"]])
c(0.3, 0.5, 0.3, 0.2, 0.3, 0.2, 0.7, 0.5, 0.4, 0.5, 1, 1.3, 0.5, 
0.2, 2, 0.4, 0.5, 3.5, 0.2, 0.5, 0.3, 0.21, 0.5, 0.2, 0.8, 0.3, 
0.3, 0.6, 0.3, 1, 1.9, 1.2, 0.3, 1.5, 0.81, 0.2, 0.8, 0.6, 3.4, 
1.2, 2.4, 1.4, 0.2, 1.7, 1.2, 1.4, 2.4, 0.4, 0.8, 1.7, 0.799999999999999, 
0.8, 0.48, 0.7, 0.2, 0.8, 8.3, 0.5, 3.8, 1.3, 0.5, 2.9, 0.4, 
1.8, 3.2, 2.1, 0.4, 0.9, 1.3, 0.4, 1.8, 0.2, 1.3, 0.3, 0.5, 0.3, 
0.699999999999999, 0.3, 0.4, 2, 0.6, 0.3, 0.7, 1.1, 0.2, 2.7, 
0.4, 0.8, 1.9, 0.3, 0.6, 1, 1.3, 1.1, 0.9, 0.5, 0.7, 0.7, 0.2, 
0.3, 0.2, 0.5, 2.1, 1.6, 0.2, 0.2, 0.6, 0.2, 0.33, 0.6, 0.6, 
0.3, 0.5, 0.4, 0.5, 0.3, 0.7, 0.9, 0.5, 0.6, 1.5, 3.2, 0.2, 4.2, 
2.3, 1.4, 0.3, 0.5, 0.2, 0.9, 0.5, 3.1, 0.5, 0.2, 2.3, 0.6, 0.2, 
5.5, 0.5, 1, 1, 0.6, 1.5, 3, 0.8, 1.3, 0.2, 4.09, 0.2, 0.4, 0.2, 
0.2, 1.3, 0.5, 1, 2.1, 1.5, 1.7, 0.2, 3.6, 1.6, 0.2, 0.2, 0.7, 
1.5, 0.2, 0.2, 1, 0.3, 0.3, 2.8, 0.8, 0.3, 0.2, 0.23, 2, 1, 0.92, 
0.8, 0.33, 0.8, 1.1, 0.2, 0.6, 1.5, 0.3, 0.53, 0.35, 0.3, 0.43, 
0.5, 8.8, 0.2, 0.3, 1.1, 0.22, 4.7, 0.2, 0.21, 1.1, 0.3, 1.5, 
0.5, 0.2, 0.2, 0.2, 0.64, 0.2, 0.8, 0.2, 0.43, 0.4, 0.2, 0.4, 
0.4, 0.2, 0.3)

现在我只想选择“幅度”<0.3的那些:

> x[x$n.bounces >= 1 & x$magnitude < 0.3, ][["magnitude"]]
 [1] 0.20 0.30 0.20 0.20 0.20 0.21 0.20 0.30 0.20 0.20 0.20 0.20 0.30 0.30 0.30 0.20 0.20 0.20 0.20 0.20 0.20 0.30 0.20 0.20 0.20
[26] 0.20 0.20 0.20 0.20 0.20 0.20 0.20 0.20 0.20 0.20 0.30 0.20 0.23 0.20 0.30 0.20 0.30 0.22 0.20 0.21 0.20 0.20 0.20 0.20 0.20
[51] 0.20 0.20

为什么在这个选择中仍然有几个(但不是全部!)值为 0.30?我尝试了其他值,似乎它只对 < 1.0 的值不起作用

最初数据来自 csv 文件。

如果您需要更多信息,请告诉我。我对 R 很陌生,不知道有什么帮助...

4

1 回答 1

1

您可以使用plyr包,并四舍五入为任意数字的倍数。

  x <- round_any(x ,0.01)
于 2013-01-24T12:58:55.293 回答