我有一份零售商代码清单。
我希望根据零售商代码将零售商名称/国家/地区添加到retailer列,以便查看结果的人能够理解它们与哪个零售商相关。
目前,我有以下几点:
chats$retailer[chats$retailer_code == "npqPjZyMy5"] <- "France"
chats$retailer[chats$retailer_code == "HbNaIqdedB"] <- "Germany"
chats$retailer[chats$retailer_code == "p7VtqCMCr8"] <- "Italy"
chats$retailer[chats$retailer_code == "Tj8vwJvyH1"] <- "Japan"
chats$retailer[chats$retailer_code == "1mRdYODJBH"] <- "UAE"
chats$retailer[chats$retailer_code == "GGdwO3HFDV"] <- "UK"
chats$retailer_code <- NULL # Remove retailer code column有没有更简洁的方法来实现这一点?
发布于 2018-08-16 19:08:45
这将为您节省一些时间。
library(plyr)
chats$retailer <- revalue(chats$retailer,
c("npqPjZyMy5" = "France", "HbNaIqdedB" = "Germany", "p7VtqCMCr8" = "Italy", "Tj8vwJvyH1" = "Japan","1mRdYODJBH" = "UAE","GGdwO3HFDV" = "UK" ))发布于 2018-08-16 19:14:03
library(tidyverse)
chats%>%
mutate(retailer = case_when(
retailer_code=="npqPjZyMy5"~"France",
retailer_code=="HbNaIqdedB"~"Germany",
retailer_code=="p7VtqCMCr8"~"Italy",
retailer_code=="Tj8vwJvyH1"~"Japan",
retailer_code=="1mRdYODJBH"~"UAE",
retailer_code=="GGdwO3HFDV"~"UK"))%>%
select(-retailer_code)发布于 2018-08-16 19:22:56
或者使用查找向量:
# data
set.seed(123)
codes <- c("npqPjZyMy5", "HbNaIqdedB", "p7VtqCMCr8", "Tj8vwJvyH1", "1mRdYODJBH", "GGdwO3HFDV")
ctrys <- c("France", "Germany", "Italy", "Japan", "UAE", "UK")
chats <- data.frame(retailer_code = sample(codes, 20, replace = T),
stringsAsFactors = FALSE)
# solution
ctrys_lookup <- setNames(ctrys, codes)
chats$retailer <- ctrys_lookup[chats$retailer_code]
chatshttps://stackoverflow.com/questions/51875469
复制相似问题