vlookup in r dplyr code example

Example 1: vlookup in r dplyr

life_expectancy = read.csv("life_expectancy.csv", skip = 2, header = TRUE, stringsAsFactors = FALSE)
sanitation = read.csv("sanitation.csv", skip = 2, header = TRUE, stringsAsFactors = FALSE)
 
## rename all yearly metric columns.  E.g., X1995 becomes le_1995 (for life expectancy)
names(life_expectancy)[grepl("\\bX", names(life_expectancy))] = gsub("X", "le_", names(le)[grepl("\\bX", names(life_expectancy))])
names(sanitation)[grepl("\\bX", names(sanitation))] = gsub("X", "san_", names(sanitation)[grepl("\\bX", names(sanitation))])
 
## lowercase column names
names(life_expectancy) = tolower(names(life_expectancy))
names(sanitation) = tolower(names(sanitation))

Example 2: vlookup in r dplyr

# Merge by columns with different names
merge(life_expectancy, sanitation, by.x = "cntr_nm", by.y = "country.name")

Example 3: vlookup in r dplyr

# Merge by multiple columns
merge(life_expectancy, income_disparity, by = c("country", "city"))

Example 4: vlookup in r dplyr

# Left Join: keep all rows in x even if there's no match in y
merge(life_expectancy, income_disparity, all.x = TRUE)

Example 5: vlookup in r dplyr

data_2012 = merge(life_expectancy[, c("country.name", "le_2012")], 
                  sanitation[, c("country.name", "san_2012")])
head(data_2012, 10)

Example 6: vlookup in r dplyr

library(dplyr)
desired_result = 
  df_b %>% select(-price,-sale_price) %>% 
  left_join(
    df_a %>%
      transmute(id = SKU, price = PRECIO_LISTA, sale_price = PRECIO_INDEXADO) %>%
      distinct()
  )