【问题标题】:How to remove duplicate values in an individual column for multiple columns at once in R如何在R中一次删除多个列的单个列中的重复值
【发布时间】:2017-10-04 15:09:37
【问题描述】:

样本数据

           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

【问题讨论】:

    标签: r machine-learning data-science


    【解决方案1】:

    这是一种基本的 R 方法,它可以按您的预期工作,首先用逗号分割 Office,删除重复项,然后再次粘贴在一起

    df$Office <- sapply(lapply(strsplit(df$Office, ","),
                               function(x) {
                                 unique(x)
                               }),
                        function(x) {
                          paste(x, collapse = ",")
                        },
                        simplify = T)
    

    %&gt;%

    df$Office <-  df$Office %>%
      strsplit(",") %>%
      lapply(function(x){unique(x)}) %>%
      sapply(function(x){paste(x,collapse = ",")},simplify = T)
    

    【讨论】:

      【解决方案2】:

      我们可以使用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
      

      【讨论】:

        猜你喜欢
        • 2017-06-23
        • 2012-05-04
        • 2013-07-24
        • 1970-01-01
        • 1970-01-01
        • 2015-10-17
        • 2021-07-10
        • 2018-06-10
        • 2021-05-09
        相关资源
        最近更新 更多