将列的内容与另一个数据集进行比较

时间:2015-05-20 20:29:14

标签: r list

我是R的新手,需要帮助来比较内容列。

我按照特定栏目订购了我的第一张桌子。为此,我使用了以下功能:

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

我正在处理有大约500万行的文件,只需要减少这个数字。 一种方法是消除等于10,450项列表的数据。也就是说,这500万行我有一列与此列表具有相同和不同的值。

知道我能做什么吗?

我尝试对我的数据执行此操作但无效!

##### Filter data: data that must remain
filter = read.csv ("filter.txt")
filter1 = data.frame (filter)

############# Dataset to be filtered
data = fread ("data.txt", sep = ";")
data1 = data.frame (date)

new_data = data1 [! data1 $ V5% in% filter] # allocate a variable in the amounts equal to the filter

write.table (new_data, "data_filter.txt", sep = ";")

如果我想查看数据disponibilizei此链接: https://www.dropbox.com/sh/nau51en34xv394x/AAAWlkUwib0j0_xo47vYMh_Ja?dl=0

1 个答案:

答案 0 :(得分: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和vector eliminate的排序如何,这都会有效。