问题描述
我试图简单地从值 1 和 2 --> 0 和 1 重新编码一个二进制变量。这是原始变量的表:
# total N=5215 valid N=5215 mean=1.55 sd=0.50
Value | N | Raw % | Valid % | Cum. %
---------------------------------------
1 | 2328 | 44.64 | 44.64 | 44.64
2 | 2887 | 55.36 | 55.36 | 100.00
<NA> | 0 | 0.00 | <NA> | <NA>
我正在使用 sjmisc 包和他们的 rec 命令。这是我的代码:
GSS$female <- rec(GSS$SEX,rec= "2=1 [yes];
1=0 [no]")
var_lab(GSS$female) = "Is Respondent female?"
当我运行新变量的频率表时,结果很奇怪:
frq(GSS$female)
Is Respondent female? (x) <numeric>
# total N=5215 valid N=5215 mean=0.55 sd=0.50
Value | Label | N | Raw % | Valid % | Cum. %
-----------------------------------------------
0 | no | 0 | 0.00 | 0.00 | 0.00
1 | yes | 2328 | 44.64 | 44.64 | 44.64
2 | <NA> | 2887 | 55.36 | 55.36 | 100.00
<NA> | <NA> | 0 | 0.00 | <NA> | <NA>
我试过在 2 到 1 之前将 1 的更改移动到 0,但这没有任何作用。
然后,当我与原始变量交叉表时,它确实表明它重新编码正确:
table(GSS$female,GSS$SEX)
1 2
no 2328 0
yes 0 2887
所以,我不确定是不是重新编码不起作用,是 frq 命令还是我。
任何想法都会很棒!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)