问题 w sjmisc 包在 R

问题描述

我试图简单地从值 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 (将#修改为@)