2017-09-19 5 views
0

私は2つの列を持っています。どちらも文字データ型です。 1つの列に文字列があり、他の文字列には引用符付きの文字列があります。 私は両方の列を比較したいと思います。データフレーム全体の異なる名前の2つの列にわたる別々の値の数を見つけるには

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

ここでは、johnが一般的であるため、カウントは2にする必要があります。

何とか私は第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 
関連する問題