这或多或少类似于我们使用来自 REDCap 的类似数据的方法。我们用pivot_longer
对于虚拟变量。决赛Race
变量也可以成为一个因素。请告诉我这是否是您的想法。
Edit: Added names_ptypes
to pivot_longer
表明Race
变量是一个因素(而不是mutate
).
library(tidyverse)
df <- data.frame(
SubjID = c("001", "002"),
Sex = c("F", "M"),
Age = c(62, 66),
White = c(0, 1),
AA = c(1, 0),
Asian = c(0, 0),
Other = c(0, 0)
)
df %>%
pivot_longer(cols = c("White", "AA", "Asian", "Other"), names_to = "Race", names_ptypes = list(Race = factor()), values_to = "Value") %>%
filter(Value == 1) %>%
select(-Value)
Result:
# A tibble: 2 x 4
SubjID Sex Age Race
<fct> <fct> <dbl> <fct>
1 001 F 62 AA
2 002 M 66 White