【问题标题】:to find count of distinct values across two columns in r查找 r 中两列中不同值的计数
【发布时间】:2017-09-20 00:02:09
【问题描述】:

我有两列。两者都是字符数据类型。 一列有字符串,另一列有带引号的字符串。 我想比较两列并找到否。整个数据框中的不同名称。

string f.string.name
john      NA
bravo     NA
NA        "john"
NA        "hulk"

这里的计数应该是 2,因为 john 很常见。

不知何故,我无法从第二列中删除引号。不知道为什么。

谢谢

【问题讨论】:

    标签: r


    【解决方案1】:

    我看到的主要问题是 NA 值。
    首先,让我们去掉你提到的引号。

    dat$f.string.name <- gsub('["]', '', dat$f.string.name)
    

    现在,计算不同值的数量。

    i1 <- complete.cases(dat$string)
    i2 <- complete.cases(dat$f.string.name)
    sum(dat$string[i1] %in% dat$f.string.name[i2]) + sum(dat$f.string.name[i2] %in% dat$string[i1])
    

    数据

    dat <-
    structure(list(string = c("john", "bravo", NA, NA), f.string.name = c(NA, 
    NA, "\"john\"", "\"hulk\"")), .Names = c("string", "f.string.name"
    ), class = "data.frame", row.names = c(NA, -4L))
    

    【讨论】:

      【解决方案2】:
      library(stringr)
      table(str_replace_all(unlist(df), '["]', ''))
      
      # bravo  hulk  john 
      # 1     1     2
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-16
        • 1970-01-01
        • 2022-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-29
        相关资源
        最近更新 更多