将数据导出到Stata / SPSS后,基础价值代码会更改/重新编码

时间:2019-02-13 18:43:21

标签: r r-haven

美好的一天

我正在尝试将带标签的数据集导出到SPSS和Stata。当我在SPSS中打开数据时,标签将正确导出,但是,基础值被重新编码。例如,0被重新编码为1。我尝试使用haven::write_dta()foreign::write.dta()

导出数据

我期望的结果是

  

0 =“从不[0]”

     

1 =“每月[1]或更少],

     

2 =“每月2到4次[2]”,

     

3 =“每周2至3次[3]”,

     

4 =“一周[4]或4次以上”

但是,这些是我在SPSS中为SPSS和Stata数据集获得的值和标签。

  

1 =“从不[0]”

     

2 =“每月[1]或更少[

     

3 =“每月[2]到2次至4次”,

     

4 =“每周2至3次[3]”,

     

5 =“一周[4]或4次以上”

这是我使用的R代码:

library(Hmisc)
audit$a_audit_1_1 =  factor(audit$a_audit_1_1, levels = c(0, 1, 2, 3, 4))
levels(audit$a_audit_1_1) = c(
"Never [0]",
"Monthly or less [1]",
"2 to 4 times a month `[2]",
"2 to 3 times a week [3]",
"4 or more times a week [4]")
label(audit$a_audit_1_1)="How often do you..."

library(haven)
write_dta(audit, "audit.dta")

根据此变量标签和expss的介绍:

  

将数字数据连接到R中的标签的通常方法是在因子变量中。但是,因素缺少价值标签提供的重要功能。因素仅允许将整数映射到文本标签,这些整数必须是从1开始的计数,并且每个值都需要标记。另外,我们无法计算因子的均值或其他数值统计。

有没有办法保留原始代码?

非常感谢您的帮助。

安德烈

请注意,我也在以下论坛上发布了此问题:

  1. GitHub

  2. RStudio Community

0 个答案:

没有答案