样本数据


           sessionid             qf      Office
                12                3       LON1,LON2,LON1,SEA2,SEA3,SEA3,SEA3
                12                4       DEL2,DEL1,LON1,DEL1
                13                5       MAn1,LON1,DEL1,LON1


在这里,我想按行删除“ OFFICE”列中的重复值。


  预期产量


            sessionid             qf      Office
                12                3       LON1,LON2,SEA2,SEA3
                12                4       DEL2,DEL1,LON1
                13                5       MAN1,LON1,DEL1

最佳答案

我们可以使用tidyverse。用反引号将'Office'分割开并扩展为'long'格式,然后获取distinct行,并按'sessionid'和'qf'分组,paste'Office'的内容

library(tidyverse)
separate_rows(df1, Office) %>%
      distinct() %>%
     group_by(sessionid, qf) %>%
     summarise(Office = toString(Office))
# A tibble: 3 x 3
# Groups:   sessionid [?]
#  sessionid    qf                 Office
#      <int> <int>                  <chr>
#1        12     3 LON1, LON2, SEA2, SEA3
#2        12     4       DEL2, DEL1, LON1
#3        13     5       MAn1, LON1, DEL1

关于r - 如何在R中一次删除单个列中多个列的重复值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46568280/

10-12 17:11