【发布时间】:2021-08-09 19:04:33
【问题描述】:
我的问题很基本,但我是 R 新手,我已经尝试解决这个问题几天了,但没有任何成功:(
我在做什么
这是 CoronaNet_cleaned 数据框。
country date_start date_end
South Africa 2020-03-22 NA
South Africa 2020-04-12 2020-06-02
Australia 2021-02-11 2020-04-12
Australia 2020-06-10 NA
United States 2020-01-01 NA
United States 2020-12-08 NA
这是 tweetgovuser 数据框
country screen_name created_at text
South Africa HealthZA 2020-12-08 The number of health care workers....
...
我想要什么
我想在 tweetgovuser 中创建一个名为 lockdown_dummy 的列。我希望根据三个条件创建此指标/虚拟变量:
- 如果 created_at (tweetgovuser) 匹配 date_start 或 date_end (CoronaNet_cleaned),让 lockdown_dummy (在 tweetgovuser 中) = 1
- 如果 created_at 介于 date_end 和 date_start 的日期之间,则令 lockdown_dummy = 1
- 如果以上条件都不成立,则设 lockdown_dummy = 0
最终产品应如下所示:
country screen_name created_at text lockdown_dummy
South Africa HealthZA 2020-12-08 The number.... 1
...
我尝试过的
我尝试了几个不同的代码块,但最近我写了这个非常粗糙且写得很糟糕的代码来执行这个:
lockdown_dummy <- case_when(
created_at == date_start ~ 1,
created_at == date_end ~ 1,
"date_start" %<% created_at %<% "date_end" ~ 1
TRUE ~ 0
)
【问题讨论】:
标签: r date dplyr conditional-statements dummy-variable