【发布时间】:2018-10-17 20:13:15
【问题描述】:
df1 和 df2 是两个独立的数据框,源自其他逻辑。
测试数据:
df1 <- data.frame(type= c("invite","reminder", "final"))
df2 <- data.frame(delivery_date = date('2018-05-07'))
问题:如何将变量的值从 df2 传递到 df1(如何使此代码有效?)
#pseudocode:
library(dplyr)
library(lubridate)
test_d<- df1 %>%
mutate(send_date = case_when(
type == "invite" ~ df2$delivery_date
type == "reminder" ~ df2$delivery_date + days(2)
type == "final" ~ df2$delivery_date + days(4)
)
)
我想要的数据框:
type send_date
invite 2018-05-07 #pass the value of delivery_date from df1
reminder 2018-05-09 #add 2 days based on the value of delivery_date in df1
final 2018-05-11 #add 4 days based on the value of delivery_date in df1
【问题讨论】:
-
你只需要在
case_when的每个子句末尾加逗号 -
好收获!谢谢!
标签: r dplyr lubridate case-when