我找不到一个好的问题标题,请随意编辑它。
我有这个数据框。
我想要删除具有相同的“to”和“from”的重复行,而不计算2列的排列组合:例如(1,2)和(2,1)是重复的。
因此最终输出将是:
我有一个解决方案,通过构建一个新的列键来实现,例如:
使用
我有这个数据框。
section time to from
1 a 9 1 2
2 a 9 2 1
3 a 12 2 3
4 a 12 2 4
5 a 12 3 2
6 a 12 3 4
7 a 12 4 2
8 a 12 4 3
我想要删除具有相同的“to”和“from”的重复行,而不计算2列的排列组合:例如(1,2)和(2,1)是重复的。
因此最终输出将是:
section time to from
1 a 9 1 2
3 a 12 2 3
4 a 12 2 4
6 a 12 3 4
我有一个解决方案,通过构建一个新的列键来实现,例如:
key <- paste(min(to,from),max(to,from))
使用
duplicated
来删除重复键,但我认为这是一种不优美的解决方案。以下是我的数据的dput
。structure(list(section = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L), .Label = "a", class = "factor"), time = c(9L, 9L, 12L,
12L, 12L, 12L, 12L, 12L), to = c(1L, 2L, 2L, 2L, 3L, 3L, 4L,
4L), from = c(2L, 1L, 3L, 4L, 2L, 4L, 2L, 3L)), .Names = c("section",
"time", "to", "from"), row.names = c(NA, -8L), class = "data.frame")