2013-08-27 2 views
0

나는 두 개의 변수, 즉 이름 - 키와 성별 - 값을 가진 벡터 이름 (vector_name)과 하나의 데이터 프레임 (df_dictionary)을 가지고있다.벡터의 각 값을 키 - 값 사전과 어떻게 일치 시키나요?

해당 vector_gender를 얻으려면 vector_name의 각 값을 df_dictionary와 일치시켜야합니다.

+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 
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 
관련 문제