1

我在 R 中有一个名为“赔率”的数据框,其中包含我以多种格式跟踪的几个赔率:

timestamp   RX  R1  R2
2013-04-13 00:26:49 3.65    1.50    7.00
2013-04-13 00:26:49 3.70    1.50    8.00
2013-04-13 00:26:49 +375    -250    +860
2013-04-13 00:35:01 3.65    1.50    7.00
2013-04-13 00:35:01 3.70    1.50    8.00
2013-04-13 00:35:01 3.70    1.45    7.00
2013-04-13 00:36:55 +320    -250    +600
2013-04-13 01:00:01 3.65    1.50    7.00
2013-04-13 00:36:55 3.70    1.50    8.00
2013-04-13 00:36:55 3.70    1.45    7.00

如何丢弃非十进制格式的行?

在我刚刚给出的示例中,第三行和第七行应该已被完全删除。

干杯

4

1 回答 1

1
# Assuming myDF is your data.frame
myDF[abs(as.numeric(myDF$RX)) < 100, ]

             timestamp   RX   R1 R2
1  2013-04-13 00:26:49 3.65 1.50  7
2  2013-04-13 00:26:49 3.70 1.50  8
4  2013-04-13 00:35:01 3.65 1.50  7    <~~~  Third Row is gone
5  2013-04-13 00:35:01 3.70 1.50  8
6  2013-04-13 00:35:01 3.70 1.45  7
8  2013-04-13 01:00:01 3.65 1.50  7    <~~~  So is the 7th Row
9  2013-04-13 00:36:55 3.70 1.50  8
10 2013-04-13 00:36:55 3.70 1.45  7

注意:如果RX是一个因素,那么你需要使用 as.numeric(as.character(RX))而不是仅仅as.numeric(RX)


根据评论中的关注进行编辑:

上面的例子是基于复制+粘贴 OP 样本数据。
如果该过程不适合您,则表明您的真实数据和样本数据之间存在差异。

看看差异,这将有助于引导您朝着正确的方向前进。

于 2013-05-01T17:41:06.143 回答