2011-11-23 155 views
12

可能重複:
removing specific rows from a dataframe從數據幀中刪除特定行

比方說,我有由許多行的數據幀,這樣的:

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)或類似的東西。

+9

你是否搜索過這個問題?答案肯定涉及使用百分號%和提取操作符「[」,但我會認爲它已被應答。例如,第一個用你的問題標題進行搜索:http://stackoverflow.com/questions/7112872/removing-specific-rows-from-a-dataframe –

+4

這是一個相當普遍的R練習。這裏有一個提示,而不是嘗試刪除不想要的行,嘗試創建一個包含您想要的行的新數據框。 – Chris

+0

你應該發佈一個可重複的例子。 'dput'是你的朋友! – Zach

回答

40
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 

不管你喜歡,你都可以使用這個功能。