从数据帧中删除特定行
问题描述:
比方说,我有由许多行的数据帧,这样的:
X <- data.frame(Variable1=c(11,14,12,15),Variable2=c(2,3,1,4))
Variable1 Variable2
11 2
14 3
12 1
15 4
现在,假设我想要创建一个与此相同的新数据框,只是我要删除其中Variable1具有特定的数值。比方说,我们有这些数字存储在向量,V
也就是说,如果V包含数字11和12,新的数据帧应该是这样的:
Variable1 Variable2
14 3
15 4
我一直在寻找一段时间的网络现在试图找出如何做这样的事情。主要是,我只需要一些说removeRow(dataframe, row)
或类似的东西。
答
X <- data.frame(Variable1=c(11,14,12,15),Variable2=c(2,3,1,4))
> X
Variable1 Variable2
1 11 2
2 14 3
3 12 1
4 15 4
> X[X$Variable1!=11 & X$Variable1!=12, ]
Variable1 Variable2
2 14 3
4 15 4
> X[ ! X$Variable1 %in% c(11,12), ]
Variable1 Variable2
2 14 3
4 15 4
不管你喜欢,你都可以使用这个功能。
你是否搜索过这个问题?答案肯定涉及使用百分号%和提取操作符“[”,但我会认为它已被应答。例如,第一个用你的问题标题进行搜索:http://stackoverflow.com/questions/7112872/removing-specific-rows-from-a-dataframe –
这是一个相当普遍的R练习。这里有一个提示,而不是尝试删除不想要的行,尝试创建一个包含您想要的行的新数据框。 – Chris
你应该发布一个可重复的例子。 'dput'是你的朋友! – Zach