通过指定某些条件从数据框中省略行

时间:2018-01-23 15:00:32

标签: r dataframe

我试图从之前的问题中找到答案,我发现最接近的是删除包含空白元素或NA的行。这对我来说应该是有效的,但是我无法按照自己的意愿去做。

我有一个从excel导入的数据框,我正在操作以修复布局以进行有效的统计分析。我使用的设备以奇怪的格式返回数据。

数据框中的每隔一行包含RSD值,这是计算出的软件错误。在" Sample_Id"列中,每隔一行都有Id" RSD"。

我想通过删除包含" RSD"的行来修改数据帧。要做到这一点,我尝试过:

DTA <- DTA[!(DTA$Sample_Id == "RSD"),]

使用&#34; DTA&#34;是我的数据帧。这类似于关于空白和&#34; NA&#34;的问题的解决方案,但由于某种原因不适用于我的目的。

我由四列包含176个条目组成,但每个实验都有所不同。

我宁愿不按行号省略行。

2 个答案:

答案 0 :(得分:0)

你想删除变量Sample_Id是字符串&#34; RSD&#34 ;?的行如果是这样,你可以使用dply包:

library(dplyr)
DTA <- filter(DTA,Sample_Id != "RSD")

答案 1 :(得分:0)

我刚解决了这个问题,对于那些有类似问题的人来说,问题如下:

我检查了该列中存储的数据类型,并使用as.character()将其转换为字符串。

然后我检查了什么存储在列的偶数元素中,它返回“RSD”而不是“RSD”。

这可能是由设备的软件引起的。我使用上面编写的代码并输入“RSD”,它工作正常。

感谢那些也提供解决方案的人,我认为qdread的解决方案也应该有效。