Pergunta

Eu olhei em quase todo o lado e não encontrar a resposta para isso;R equivalente a PROCV no Excel.PROCV me permite olhar para um valor específico ao longo de uma coluna e aplicá-lo a cada linha do meu pacote de dados.

Neste caso, eu quero encontrar o país de uma determinada cidade é no (a partir de um banco de dados) e retorna o nome do país em uma nova coluna.

Então, eu tenho essa base de dados:

countries <- c("UK", "US", "RUS")
cities <- c("LDN", "NY", "MOSC")
db <- cbind(countries, cities)
db
      countries cities
[1,] "UK"      "LDN" 
[2,] "US"      "NY"  
[3,] "RUS"     "MOSC"

E quer encontrar o país, as cidades estão em (substituir AN), com base no db acima:

df
     countries cities
[1,]   NA      "LDN" 
[2,]   NA      "NY"  
[3,]   NA     "MOSC"

Eu não tenho absolutamente nenhuma idéia de como ir sobre isso em R.

Foi útil?

Solução

Você está executando um participar qual R é realizada utilizando-se a função merge

merge(db, df)

Usando o dplyr pacote permite mais natural verbos:

library(dplyr)
inner_join(db, df)

ou talvez (se você deseja não corresponde a ser mostrado;ver ?left_join para obter mais informações):

left_join(db, df)

Outras dicas

Aqui está uma outra abordagem:

library(qdapTools)
df[, 1] <- df[, 2] %l% db[, 2:1]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top