В качестве примера предположим, что у меня есть эти данные:
key <- data.frame(num=c(1,2,3,4,5), month=c("January", "Feb", "March", "Apr", "May"))
data <- c(4,2,5,3)
Я хочу создать новый вектор data2
, используя отображение от num
до month
, содержащееся в key
. Я могу сделать это вручную, используя case_when
, выполнив сразу много операторов if:
library(dplyr)
data2<-case_when(
data==1 ~ "January",
data==2 ~ "Feb",
data==3 ~ "March",
data==4 ~ "Apr",
data==5 ~ "May"
)
Тем не менее, скажите, что я хочу автоматизировать этот процесс (возможно, у меня на самом деле тысячи операторов if) и использовать отображение, содержащееся в key
. Возможно ли это или что-то подобное?
Вот неудачная попытка кода:
data2 <- case_when(data=key$num ~ key$month)
Я собираюсь написать вектор под названием data2
со следующими элементами: c("Apr","Feb","May","March")
. Как я могу это сделать?