【发布时间】:2020-06-14 15:55:58
【问题描述】:
我有一个带有像这样的字符串(因子)变量的df
id v1 v2 v3 v4
1 1 1 1 0
1 0 0 0 0
1 1 1 1 0
1 1 1 1 0
1 1 1 1 0
我想要创建一个等于 1 或 0(数字)的新列,如果 1 出现在列列表中,例如 (v2, v3, v4)
id v1 v2 v3 v4 lu
1 1 1 1 0 1
2 0 0 0 0 0
3 1 1 1 0 1
4 0 0 1 0 1
5 1 0 1 0 1
我不想转换为数字(因为我需要它们以供将来分析)所以像
df <- df %>% mutate(lu = select(., v2:v4) %>% rowSums(na.rm = TRUE))
df <- df %>% mutate(lu = if_else(lu_1 > 0, 1, lu))
不可能。实际上要考虑的变量列表相当长(大约 150 个)
谢谢!
【问题讨论】: