【问题标题】:Recoding a variable across waves of a longitudinal dataset跨纵向数据集的波重新编码变量
【发布时间】:2021-11-20 10:39:48
【问题描述】:

我最近意识到,我的数据集中的一个纵向变量(人们在被问及为什么他们的工作时间比上一波研究减少后是否表示他们正在休假)编码不正确。目前,如果受访者报告休假是工作时间少于上一波调查的原因,则变量被编码为“1”,即使受访者处于休假状态但其工作时间与上次相比没有变化,该变量也被编码为“0”因此,我想重新编码这个变量,以便在第一次报告与休假相关的工作时间减少(“1”)之后,其余数据(即进行波)也将编码为“1” .这可能是在 R 中执行的一个简单更改,但我今天早上花了几个小时尝试 if-else 语句和 dplyr,但没有成功。

TLDR:我想重新编码一个变量,以便如果该变量对于我的纵向数据集的指定波等于 1,那么对于数据集的其余波也等于 1。

请问您有什么解决这个问题的建议吗?非常感谢!

【问题讨论】:

标签: r dplyr longitudinal


【解决方案1】:

如果没有看到您的数据,很难提供帮助。我按照你的解释做了一个基本数据。检查这是否是您的想法。

library(dplyr)
data <- tibble(ID = c(1,2,3,1,2,3,1,2,3),
               Wave= c(1,1,1,2,2,2,3,3,3),
               Reduced = c(1,1,0,1,0,0,1,0,0))

data2 <- data %>% filter(Wave == 1)
data <- data %>% group_by(Wave) %>% mutate(Reduced_new = data2$Reduced)
rm(data2)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-31
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    • 2014-08-16
    相关资源
    最近更新 更多