【发布时间】:2015-01-24 19:24:57
【问题描述】:
我正在尝试删除在我的数据框的“lan”列中具有相同值但在我的“id”列中具有不同值的所有行(反之亦然)。
使用示例数据集:
require(dplyr)
t <- structure(list(id = c(1L, 2L, 2L, 3L, 3L, 4L, 4L, 4L, 4L, 4L,
4L), lan = structure(c(1L, 2L, 3L, 4L, 4L, 5L, 5L, 5L, 6L, 1L,
7L), .Label = c("a", "b", "c", "d", "e", "f", "g"), class = "factor"),
value = c(0.22988498, 0.848989831, 0.538065821, 0.916571913,
0.304183372, 0.983348167, 0.356128559, 0.054102854, 0.400934593,
0.001026817, 0.488452667)), .Names = c("id", "lan", "value"
), class = "data.frame", row.names = c(NA, -11L))
t
我需要删除第 1 行和第 10 行,因为它们具有相同的 lan (a) 但不同的 id。
我尝试了以下方法,但没有成功:
a<-t[(!duplicated(t$id)),]
c<-a[duplicated(a$lan)|duplicated(a$lan, fromLast=TRUE),]
d<-t[!(t$lan %in% c$lan),]
感谢您的帮助!
【问题讨论】:
标签: r