目前我有一个变量“Sex”,其中分别包含男性和女性的 1 和 2。我想向这个变量添加随机噪声。因此,我使用正态分布生成随机数。下一步是确定某些值是否必须更改为其他性别。我使用 z 值 2 和 -2 作为边界。因此,如果一个男人 (1) 的值大于 2,则它必须更改为一个女人。它也适用于相反的方式,因此当女性 (2) 被分配到随机 z 值 <-2 时,性别变量必须更改为男性 (1)。在所有其他选项中,该值必须保持不变。
我认为 ifelse 语句可以解决问题。不幸的是,它没有用。我的陈述如下:
with(Dataset18$New_sex,
ifelse(Sex== 1 & Norm_dist_random > 2, 2 , ifelse(Sex== 1 & Norm_dist_random <= 2, 1,
ifelse(Sex== 2 & Norm_dist_random < -2, 1, ifelse(Sex== 2 & Norm_dist_random >= -2, 2))))
)
我的数据看起来像:
Sex Norm_dist_random
1 0.622221897
1 2.573726407
1 -0.298095612
1 0.717745305
2 -2.597695772
2 2.534427904
2 0.089732903
2 -0.329274570
2 -1.173434147
最后我的数据必须看起来像
Sex Norm_dist_random Sex_new
1 0.622221897 1
1 2.573726407 2
1 -0.298095612 1
1 0.717745305 1
2 -2.597695772 1
2 2.534427904 2
2 0.089732903 2
2 -0.329274570 2
2 -1.173434147 2