R:删除两列中条目重复组合的行

时间:2018-12-05 13:57:33

标签: r dataframe apply

我有一个数据框,其中包含两列具有相同类型的值,例如:

df <-data.frame(c("a", "a", "a", "c", "c", "c"), c("a", "b", "c", "a", "b", "c"), stringsAsFactors=F)
colnames(df)<-c("c1", "c2")
df
#   c1 c2
# 1  a  a
# 2  a  b
# 3  a  c
# 4  c  a
# 5  c  b
# 6  c  c

我想删除重复的组合条目,以便每行代表两个值的唯一对,无论它们出现在哪一列中。同时,我不想混合使用条目-第1列条目应留在第2列,第2列条目应留在第2列:

#   c1 c2
# 1  a  a
# 2  a  b
# 3  a  c
# 4  c  b
# 5  c  c

我尝试过unique(as.data.frame(t(apply(df, 1, sort)))),但这混淆了列的原始标识(“ b”不应出现在第1列中,它仅属于第2列):

df_unique <- unique(as.data.frame(t(apply(df, 1, sort))))
rownames(df_unique) <- 1:nrow(df_unique)
df_unique
  V1 V2
# 1  a  a
# 2  a  b
# 3  a  c
# 4  b  c
# 5  c  c

我该如何解决这个问题?

0 个答案:

没有答案