r - 从一个变量的不同问题中收集相同的答案?
问题描述
我对 R 完全陌生,但是这里的时间不多了。在我的数据集中,我有来自几个国家的人回答他们最后投票给谁。来自不同国家的人有不同的问题,所以在每一列中,只有来自该国家的人有答案,其余的都是NA。我试图将所有投票给绿党的人都收集到一个变量中。到目前为止,我已成功使用 ifelse 将其编码为每个国家/地区的单独虚拟变量,但我似乎无法合并这些变量。所以现在我有一个德国的变量,德国选举中的绿色投票是 1,其他所有人都是 0。法国等地也是如此。但是我怎样才能在一个变量中收集所有这些信息?
感谢你的帮助。
解决方案
假设您的数据集看起来像这样......
> ctry <- c(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3)
> vote_ctry_1 <- c(1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0)
> vote_ctry_2 <- c(0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0)
> vote_ctry_3 <- c(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0)
>
> dd <- data.frame(ctry, vote_ctry_1, vote_ctry_2, vote_ctry_3)
> dd
ctry vote_ctry_1 vote_ctry_2 vote_ctry_3
1 1 1 0 0
2 1 0 0 0
3 1 0 0 0
4 1 1 0 0
5 2 0 1 0
6 2 0 1 0
7 2 0 0 0
8 2 0 1 0
9 3 0 0 1
10 3 0 0 0
11 3 0 0 0
12 3 0 0 0
...然后只需添加虚拟变量:
> dd$vote_all <- vote_ctry_1 + vote_ctry_2 + vote_ctry_3
> dd
ctry vote_ctry_1 vote_ctry_2 vote_ctry_3 vote_all
1 1 1 0 0 1
2 1 0 0 0 0
3 1 0 0 0 0
4 1 1 0 0 1
5 2 0 1 0 1
6 2 0 1 0 1
7 2 0 0 0 0
8 2 0 1 0 1
9 3 0 0 1 1
10 3 0 0 0 0
11 3 0 0 0 0
12 3 0 0 0 0
推荐阅读
- python - 具有可变输入数量的决策图
- javascript - IntelliJ IDEA 无法识别 Javascript/Typescript 文件中的特定数据库架构
- prestashop - Prestashop 1.7.6.1:小数点后3位问题
- sql - SQL如何在我只有登录名而不是ID时为用户插入一行
- amazon-qldb - 如何使 QLDB 分区有效?
- firewall - 如何在 Fortigate CLI 中的接口上设置 IP 地址?
- entity-framework-core - 实体类型“Employee”的对应 CLR 类型不可实例化
- javascript - 如何在 Reactjs 中设置路由器链接
- java - 如何在 Windows 上测试运行 Memurai
- github-actions - 如何将操作的输出用作 Github 操作工作流程的 if 条件中的表达式?