0

名前のベクトル (vector_name) と、名前キーと性別値の 2 つの変数を持つ 1 つのデータフレーム (df_dictionary) があります。

対応する vector_gender を取得するには、vector_name の各値を df_dictionary と一致させる必要があります。

4

2 に答える 2

2

どう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
于 2013-08-27T11:04:38.383 に答える
0

サイモンのデータを盗む:

##  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 
于 2013-08-27T12:10:01.413 に答える