如何删除列行中的重复条目?

时间:2020-03-03 11:11:44

标签: r dataframe duplicates

我有一个数据帧df:

a <- c("ID1","ID2","ID3")
b <- c("happy;sad","happy;happy","happy;sad;sad;sad")
c <- c("I","II","I")
df <- data.frame(a,b,c)

    a                 b  c
1 ID1         happy;sad  I
2 ID2       happy;happy II
3 ID3 happy;sad;sad;sad  I

在b列中,有一些重复项,例如-happy在df [2,2]中两次列出,而sad在df [3,2]中三次列出。如何编辑df $ b,以便删除重复的条目,如下所示:

    a                 b  c
1 ID1         happy;sad  I
2 ID2             happy II
3 ID3         happy;sad  I

1 个答案:

答案 0 :(得分:2)

分割成唯一的,然后再次粘贴回去:

df$b <- sapply(as.character(df$b), function(i){
  paste(unique(unlist(strsplit(i, ";"))), collapse = ";")
})
#     a         b  c
# 1 ID1 happy;sad  I
# 2 ID2     happy II
# 3 ID3 happy;sad  I
相关问题