问题标签 [r-haven]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
830 浏览

r - 如何在 R 中处理来自 SPSS 的标记数据

这是我发现在 R 中处理来自 SPSS 的标记数据的解决方案。

我正在处理 SPSS 中提供的一项调查,我foreignhaven.

在使用 Haven 导入 Stata 数据后,我阅读了访问变量标签的便捷方式,但我找不到将标记变量表示为因子的方法。

我尝试的是提取attributesusingpurrr包,然后将一些变量转换为因子。没有成功!

如何在 R 中处理来自 SPSS 的标记数据

1:读取数据

2:创建一个表格以获得数字(标签)的含义:

那返回

哪个是变量标签,那我试试

有用 !

0 投票
0 回答
1939 浏览

r - 评估错误:必须命名第 1 列

从 R 中的 sas 数据读取列时出现以下错误

这会产生错误

当我阅读另​​一篇专栏时,这不会发生。有什么我在这里遗漏的吗?如何解决这个问题?

0 投票
1 回答
810 浏览

r - 为带有避风港的 SPSS 导出变量标签

我想导出一个我正在处理的数据集,R供我的同事在SPSS. 当我导出数据集时,我想包含变量标签(即下面的列),我不是在询问描述变量级别的值标签:

变量标签

是否有haven允许我设置此变量标签的选项?

我搜索了文档,发现只有设置值标签的功能。我注意到这是一个似乎支持变量标签haven的包装器。ReadStatReadStat文档Citizenship of respondent中,可以在下面的块中看到变量标签 ( ):

不幸的是,我对的理解C++不够复杂,无法理解幕后haven的工作原理,因此非常欢迎提出任何建议。

找到了一种解决方法,它涉及通过使用属性手动设置变量标签。考虑下面的示例,使用来自UK Data Service的教学数据集:

因此,我可以使用以下方法更改变量标签:

其中,当我写入一个新.sav文件时,它确实按SPSS. 我的问题是,是否有本地方法可以做到这一点haven

0 投票
4 回答
693 浏览

r - 使用 Haven::write_sav() 放大 .sav 文件大小

我正在使用包 Haven 从 R 编写 SPSS .sav 文件,这对我来说总体上非常有效。但是我注意到使用 write_sav() 写入磁盘的 .sav 文件大小似乎比必要的要大得多。每当我在 SPSS 中打开并保存由 write_sav() 写入的 .sav 文件时,文件大小最多会减少 10 倍!

这对我来说很重要,因为我正在为其他人向 SPSS 写入相当大的数据,有时 SPSS 拒绝打开一个非常大的文件。如果 write_sav() 以“真正的”本机 SPSS 方式更有效地存储,也许不会出现这个问题?

有谁知道这个问题,也许有一个有用的评论?需要安装 SPSS 才能复制此问题

0 投票
2 回答
841 浏览

r - 处理数据时保留 SPSS 值标签

我正在分析 PISA 2015 中的学生水平数据。数据可在此处以 SPSS 格式获得

我可以使用 Haven 包中的 read_sav 函数将数据加载到 R 中。我需要能够编辑 R 中的数据,然后以 SPSS 格式保存/导出数据,其中包含在 SPSS 下载中的原始值标签完好无损。我使用的代码是:

当我的同事(在 SPSS 中工作)尝试打开“testdata1.sav”时,值标签丢失。我已经阅读了 Haven 文档,但似乎找不到解决方案。我也在外部包中尝试了 read/write.spss,但在数据集中加载时出现问题。

我正在使用 R 版本 3.4.0 和最新版本的 Haven。

有谁知道是否有解决方案?我会非常感谢你的帮助。如果您需要任何其他信息来回答这个问题,请告诉我。

0 投票
0 回答
629 浏览

r - 尝试将数据帧写入 R 中的 sas7bdat 文件时出错

我正在处理一个data.frameR想导出(写入)为 sas7bdat 文件的文件。我正在使用的包是haven

当我使用命令行时:

我收到以下错误:

0 投票
2 回答
842 浏览

r - 在 ggplot2 图中自动使用标签(避风港语义)

我正在绘制使用避风港语义标记的数据,即变量和值具有通过属性定义的标签。

通常,这些标签也是我在轴标题和刻度中想要的。

我可以编写一个助手,用更容易迭代的东西替换那个费力的 scale_x_continuous 语句吗?例如类似的东西 scale_x_continuous(label_from_attr, breaks = breaks_from_attr, labels = value_labels_from_attr)。或者甚至+ add_labels_from_attributes()可以替换整个东西?

我知道我可以编写/使用助手Hmisc::label来稍微缩短上面的属性代码,但这不是我想要的。

0 投票
2 回答
519 浏览

r - 更改 R 中的内部因子水平(对避风港很重要 - write_dta())

haven包提供了一个非常有用的函数,用于使用 write_dta() 函数将数据框/Tibble 导出到 Stata。

当 R 因子写入 Stata 时(使用 write_dta() 函数),内部 R 因子级别变为以 Stata 长格式保存的数值,级别被写入变量标签。(这些内部 R 因子水平与应用于as.numeric(factor)因子相同。)

我想明确设置 R 的内部因子级别,以便在 Stata 中获得所需的 numlabels 值。

为了显示:

但是,我想根据高度具体的模式设置 R 的内部因子水平。例如,我想要内部级别:

蓝色 = 2 棕色 = 1 绿色 = 6 不公开 = -1

因为这与问卷上的编码相匹配。

我尝试使用forcats包中的 lvls_recode。该函数如下所示:

但正如您在此处看到的,我需要指定的新 idx 不能,因为只采用序列号。

看了stats::relevel()也没有解决问题。

0 投票
0 回答
202 浏览

r - 为什么在缩放所有列时 preProcess 会忽略某些列?

我有一个数据集 - 任何地方都没有缺失值。我使用包'haven'将它读入R - 文件本身是一个SPSS文件“.sav” - 所以我使用了“read_sav”。

我想使用插入符号的预处理标准化所有数字列。重要提示:这是我的一些专栏的结构:

其他一些列的结构如下:

现在,我尝试缩放数据集中的所有变量:

当我检查结果时,我发现只有结构只是“num”的列才被缩放。所有标记的列保持不变。

我很惊讶 - 是否有某种不成文的规则只处理未标记的列?或者插入符号和避风港之间是否存在冲突?

0 投票
1 回答
370 浏览

r - 从 github 加载 SPSS 文件

我不明白如何导入托管在 github 上的 SPSS 文件(或 .rdata 或 Stata)文件。我在这里有一个包含一些数据文件的存储库,但是在其中使用 sav 文件的 URL 不起作用。