R !Duplicate by 因子水平
R !Duplicate by Factor Level
有一种方法可以删除重复的行...
http://www.cookbook-r.com/Manipulating_data/Finding_and_removing_duplicate_records/
我有兴趣做同样的事情,但我的数据框中的因子级别。
test <- data.frame(fact = c('a','a','a','b','b','b','b','c','c'), id = c('1','1','2','1','2','2','3','1','2'), value = c(1:9))
我想缩减我的测试数据框以包括以下....
fact id value
1 a 1 1
3 a 2 3
4 b 1 4
5 b 2 5
7 b 3 7
8 c 1 8
9 c 2 9
也就是说,只有第一行id不重复。
问题是它只会是 因子水平的重复项。
library(dplyr)
test%>%group_by(fact,id)%>%distinct(id)
library(data.table)
setDT(test)[,.SD[!duplicated(id)],by=fact]
fact id value
1: a 1 1
2: a 2 3
3: b 1 4
4: b 2 5
5: b 3 7
6: c 1 8
7: c 2 9
有一种方法可以删除重复的行...
http://www.cookbook-r.com/Manipulating_data/Finding_and_removing_duplicate_records/
我有兴趣做同样的事情,但我的数据框中的因子级别。
test <- data.frame(fact = c('a','a','a','b','b','b','b','c','c'), id = c('1','1','2','1','2','2','3','1','2'), value = c(1:9))
我想缩减我的测试数据框以包括以下....
fact id value
1 a 1 1
3 a 2 3
4 b 1 4
5 b 2 5
7 b 3 7
8 c 1 8
9 c 2 9
也就是说,只有第一行id不重复。 问题是它只会是 因子水平的重复项。
library(dplyr)
test%>%group_by(fact,id)%>%distinct(id)
library(data.table)
setDT(test)[,.SD[!duplicated(id)],by=fact]
fact id value
1: a 1 1
2: a 2 3
3: b 1 4
4: b 2 5
5: b 3 7
6: c 1 8
7: c 2 9