2017-09-19 30 views
0

我有兩列。兩者都是字符數據類型。 一列有字符串,另一列有引號。 我想比較兩列並找到否。數據框中的不同名稱。找到r中兩列不同值的計數

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

這裏計數應該是2,因爲約翰是常見的。

不知何故,我無法從第二列刪除引號。不知道爲什麼。

感謝

回答

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]) 

DATA

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
library(stringr) 
table(str_replace_all(unlist(df), '["]', '')) 

# bravo hulk john 
# 1  1  2