在r中的两列中查找不同值的计数

时间:2017-09-19 13:12:41

标签: r

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

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

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

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

由于

2 个答案:

答案 0 :(得分:2)

我看到的主要问题是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))

答案 1 :(得分:1)

library(stringr)
table(str_replace_all(unlist(df), '["]', ''))

# bravo  hulk  john 
# 1     1     2