r - 如何从 R 中的多个其他变量中创建一个新变量?
问题描述
我正在使用了解社会调查来衡量种族骚扰。该调查基于两个阶段的问题,这意味着首先询问参与者他们是否曾经是 f.ex。受到攻击(是/否)以及这些原因是什么(种族、国籍等),然后一旦他们选择了原因,他们就会被进一步询问这种形式的骚扰发生在哪里。
我想从中创建一个变量。
因此,我想首先创建一个变量,表示人们因种族而受到骚扰。因此,我需要从不同的位置一起创建一个变量(a_resattackedw1_1_3=1 + a_resattackedw1_2_3=1 + ...)。
在 SPSS 我这样做是这样的:
##compute attacked_ethn=0
if(a_resattackedw1_1_3=1) attacked_ethn=1.
if(a_resattackedw1_2_3=1) attacked_ethn=1.
if(a_resattackedw1_3_3=1) attacked_ethn=1.
if(a_resattackedw1_4_3=1) attacked_ethn=1.
if(a_resattackedw1_5_3=1) attacked_ethn=1.
if(a_resattackedw1_6_3=1) attacked_ethn=1.
if(a_resattackedw1_7_3=1) attacked_ethn=1.
if(a_resattackedw1_97_3=1) attacked_ethn=1.
add value labels attacked_ethn 0 'not mentioned' 1 'mentioned'.
我如何在 R 中做到这一点?
此外,在我为所有出于种族动机的原因创建了先前的变量之后,如何为因种族原因而受到攻击创建一个变量?
同样,在 SPSS 中我是这样做的:
#compute attacked due to racism variable#
IF (a_attacked_dv = 1) attacked=SUM(attacked_ethn,attacked_nat,attacked_rel).
VARIABLE LABELS attacked 'attacked for racial reasons'.
EXECUTE.
FREQUENCIES VARIABLES=attacked
/ORDER=ANALYSIS.
这个的R代码是什么?
谢谢您的帮助!
解决方案
这是进行计算的一种简单方法:
library(dplyr)
yourDF <- yourDF %>% mutate(
attacked_ethn=1*(
a_resattackedw1_1_3 == 1 |
a_resattackedw1_2_3 == 1 |
a_resattackedw1_3_3 == 1 |
a_resattackedw1_4_3 == 1 |
a_resattackedw1_5_3 == 1 |
a_resattackedw1_6_3 == 1 |
a_resattackedw1_7_3 == 1 |
a_resattackedw1_97_3 == 1)
) %>%
mutate(attacked=if_else(a_attacked_dv == 1, attacked_ethn + attacked_nat + attacked_rel, NULL))
请注意,此代码非常简单-一旦您在 R 语言中学习了更多内容,就可以对其进行改进(+ 学习使用标签等来呈现您的数据-这与 SPSS 非常不同)。
推荐阅读
- qt - 如何在 QLabel 中插入隐藏文本?
- javascript - react.js 中的组件库,带有 scss 和 webpack
- mysql - 在结果中显示表格中缺少的日期
- sql - oracle sql中groupby后如何加入
- typo3 - 更新到 10.4.6 后前端和后端出现错误
- node.js - 由于 node-gyp,jenkins 上的 npm 安装错误
- django - Heroku 上的 Dockerized Django 项目——用户帐户应用程序给出 HTTP 500 错误
- android - 在 CoordinatorLayout 中安排一个 BottomNavigationView、一个 FAB 和一个 FrameLayout 并使其与 Snackbar 一起使用
- batch-file - 如何在一个进程由批处理文件启动的另一个进程启动后运行命令?
- java - 将动态嵌套 Json 对象映射到 hashmap 并将键和值存储到两个字符串变量中,用逗号分隔