名前のベクトル (vector_name) と、名前キーと性別値の 2 つの変数を持つ 1 つのデータフレーム (df_dictionary) があります。
対応する vector_gender を取得するには、vector_name の各値を df_dictionary と一致させる必要があります。
どうmatch
ですか?
# Dictionary
df <- data.frame( Name = c("John" , "Mary" , "Steve" , "Jordan" , "Bob" , "Alex"),
Gender = c( "M" , "F" , "M" , "F" , "F" , "F" ) )
# Name Gender
#1 John M
#2 Mary F
#3 Steve M
#4 Jordan F
#5 Bob F
#6 Alex F
# Names to match on
vnames <- c( "John" , "Jordan" , "Kingsley" )
# Get gender - note: no match for Kingsley so NA returned
df$Gender[ match( vnames , df$Name ) ]
#[1] M F <NA>
#Levels: F M
サイモンのデータを盗む:
## Dictionary
df <- data.frame( Name = c("John" , "Mary" , "Steve" , "Jordan" , "Bob" , "Alex"),
Gender = c( "M" , "F" , "M" , "F" , "F" , "F" ) )
## Names to match on
vnames <- c( "John" , "Jordan" , "Kingsley" )
## Get gender - note: no match for Kingsley so NA returned
library(qdap)
lookup(vnames, df)
## > lookup(vnames, df)
## [1] "M" "F" NA
## or
vnames %l% df
## > vnames %l% df
## [1] "M" "F" NA