长数据文件:创建新的因子变量以识别因子变量随时间的变化

问题描述 投票:0回答:0

我在 R 中使用长格式数据文件,其中包含按参与者 ID 分组的三个时间点上的性别认同。

示例文件在这里:

df <- data.frame(id = as.factor(c(1,1,1,2,2,3,4,4,5,5,5,6,6,6)),
                 timepoint = c(1,2,3,1,2,1,1,2,1,2,3,1,2,3),
                 gender = as.factor(c("Male", "Male", "Non-binary", "Female", "Female", "Male", "Non-binary", "NA", "Female", "NA", "NA", "Male", "NA", "Female")))
df

我想创建一个新变量,随着时间的推移梳理性别(忽略 NAs)并插入:如果一致则重复出现性别,或者如果不一致则插入“性别变化”。

即。我希望它看起来像这样:

       id timepoint     gender  genderchange
1   1         1       Male Gender change
2   1         2       Male Gender change
3   1         3 Non-binary Gender change
4   2         1     Female        Female
5   2         2     Female        Female
6   3         1       Male          Male
7   4         1 Non-binary    Non-binary
8   4         2         NA    Non-binary
9   5         1     Female        Female
10  5         2         NA        Female
11  5         3         NA        Female
12  6         1       Male Gender change
13  6         2         NA Gender change
14  6         3     Female Gender change

数据集包含大量缺失数据,因此重要的是,如果其他时间点的性别一致,则某个时间点的 NA 不会被编码为“性别变化”。

提前致谢!

我曾尝试使用数字版本的性别并遵循此处的建议,但我收到一个错误消息,即我的矢量内存已耗尽(我有超过 6,000 名参与者,大多数参与者捕获了 2-3 个时间点)。 使用长格式数据计算相对于基线的变化

categorical-data longitudinal long-format-data
© www.soinside.com 2019 - 2024. All rights reserved.