丢弃R中的非十进制值

时间:2013-05-01 17:31:46

标签: r

我在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

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

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

干杯

1 个答案:

答案 0 :(得分: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样本数据 如果该过程不适合您,则表明您的实际数据与样本数据之间存在差异。

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