我是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
答案 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
的排序如何,这都会有效。