2015-05-20 133 views
-3

我是R新手,需要幫助來比較內容列。將列的內容與另一個數據集進行比較

我按照特定的欄目排列了我的第一張表格。爲此,我使用了以下功能:

x = fread ("x.txt", sep = ";") 
x_order = x [order (x $ V3)] 

我正在處理大約500萬行文件,只需要減少這個數字。 一種方法是消除等於10,450項目列表的數據。也就是說,這500萬行我有一列與這個列表相同和不同的值。

任何想法我可以做什麼?

感謝

回答

0

如果你願意,你可以用「在岬否定」。我的意思是!%in%。這裏有一個簡單的演示:

set.seed(1); 
x <- data.frame(letters=sample(letters[1:10]),numbers=sample(1:10)); 
x; 
## letters numbers 
## 1  c  3 
## 2  d  2 
## 3  e  6 
## 4  g  10 
## 5  b  5 
## 6  h  7 
## 7  i  8 
## 8  f  4 
## 9  j  1 
## 10  a  9 
eliminate <- sample(letters[1:10],3); 
eliminate; 
## [1] "j" "b" "f" 
x[!x$letters%in%eliminate,]; 
## letters numbers 
## 1  c  3 
## 2  d  2 
## 3  e  6 
## 4  g  10 
## 6  h  7 
## 7  i  8 
## 10  a  9 

這無論工作data.frame x和矢量eliminate的排序。

相關問題