问题标签 [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 回答
758 浏览

r - 带有标签名称的摘要与 dplyr

我已经用 Haven 导入了一个 .sav 文件,但我卡住的地方是我似乎无法弄清楚如何打印标签名称或使用标签编码。标签:1 = 失业,2 = 寻找等。

理想情况下:

0 投票
2 回答
667 浏览

r - 当某些变量缺少标签时在R中提取Stata标签

我正在处理带有变量名和标签的大型 Stata 文件。我需要这些标签来了解每个变量是什么。

我一直在使用

提取变量名称和相关标签。不幸的是,一些数据集的变量缺少任何标签(见下图)。

在此处输入图像描述

这意味着当我尝试上面的代码时,我只是得到一个错误。

理想情况下,我可以将所有缺失的标签都称为“NA”或什么都没有,所以我可以得到这样的输出:

在此处输入图像描述

#

只有具有缺失值的变量根本没有标签,但仍然包含在内。

0 投票
2 回答
634 浏览

r - 安装 RIO 包:找不到共享对象“haven.so”

我在 R 中安装软件包时遇到了一些问题。

我写的 :

它给出了错误消息:

  • 安装package 'rio' ... ** package 'rio' Correctement décompressé et sommes MD5 vérifiées ** R ** inst ** 为延迟加载准备包 警告:S3 方法 '[.labelled', '[.labelled_spss', 'as .data.frame.labelled'、'as_factor.data.frame'、'as_factor.labelled'、'is.na.labelled_spss'、'print.labelled'、'print.labelled_spss'、'type_sum.labelled'、'zap_formats .data.frame'、'zap_formats.default'、'zap_labels.data.frame'、'zap_labels.default'、'zap_labels.labelled'、'zap_labels.labelled_spss'、'zap_missing.data.frame'、'zap_missing.default '、'zap_missing.labelled'、'zap_missing.labelled_spss'、'zap_widths.data.frame'、'zap_widths.default' 在 NAMESPACE 中声明,但在 library.dynam(lib, package, package.lib) 中未找到错误:共享找不到对象“haven.so”错误:包“rio”的延迟加载失败
    • 删除 install.packages 中的“/home/durand-s/R/x86_64-pc-linux-gnu-library/3.4/rio”警告:安装包“/tmp/RtmpZI89tI/downloaded_pa​​ckages/rio_0.4.6.tar.gz”退出状态非零

我想我想念一些 lib-dev 或类似的东西,但我找不到我需要的那个rio

0 投票
0 回答
481 浏览

r - read_sas(避风港包)中的错误消息使用 cols_only 仅读取列的子集

我正在使用 Haven 包的 read_sas 来导入 SAS 数据集。但是,我只想包含一部分列。我的数据集有 613,124 个观测值和 189 个变量。但是,我似乎没有正确使用“cols_only”参数。我的代码中的错误在哪里?

0 投票
1 回答
995 浏览

r - read_sas:文件不包含预期的行数

我正在尝试将 .sas7bdat 文件加载到 R,但出现错误

ReadStat:文件中预期有 849278526 行,找到 611874762。无法解析“文件路径”:文件不包含预期的行数。

这个错误信息是什么意思?

我的代码是:

这适用于一个数据集,但不适用于另一个(更大的)数据集

加载的包有:fst、tidyverse、dplyr、data.table、haven

0 投票
1 回答
227 浏览

r - 在使用 Have::read_sas 读取数据后使用 dplyr 中的 pull() 保留属性。如何避免?

我正在处理最初作为.sas7bdat文件提供的几个数据集。

最初,我使用包加载了所有文件,sas7bdat但现在我确信haven包可以做得更好更快。

但是,与使用时相比,新加载的数据haven::read_(sas)似乎表现不同from :sas7bdat::read.sas7bdat()pull()dplyr

reprex 包(v0.2.1)于 2019-01-31 创建

从上面的示例中可以看出,attr()当使用 加载数据时也会打印出来haven。例如,当我想要将结果打印在rmarkdown.

我的问题是:如何避免在加载数据时使用pull()表单时打印属性?dplyrhaven

0 投票
1 回答
43 浏览

r - 将标签与 na_tags 匹配

在读取 Stata/SPSS 文件时,该haven包会保留值标签和标记的 NA。例如,在 GSS 的自雇变量中,标签表明存在三种不同类型的 NA 值:

查看na_tag()该变量,我们可以确认存在三种类型的 NA 标记:

我的问题是,我们如何找出哪些字符串labels对应于哪个 NA 标签?在这个例子中,我们可以推断出d,in标签可能分别对应于DK,IAPNA标签,仅基于它们的字母(我们总是可以检查文档),但我想要一种以编程方式执行此操作的方法,如果可能的。

例如,如果您想要生成一个特定变量的列表,该列表显示变量的值及其相关标签,包括标记的 NA,这将很有用。

0 投票
0 回答
588 浏览

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

再会,

我正在尝试将标记的数据集导出到 SPSS 和 Stata。当我在 SPSS 中打开数据时,标签正确导出,但是,基础值被重新编码。例如,0 被重新编码为 1。我尝试使用haven::write_dta()and导出数据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 到 4 次 [2]",

4 = "每周 2 到 3 次 [3]",

5 = "每周 4 次或更多次 [4]"

这是我使用的 R 代码:

根据这个对变量标签和expss的介绍:

将数字数据连接到 R 中的标签的常用方法是因子变量。然而,因子忽略了价值标签提供的重要特征。因子只允许将整数映射到文本标签,这些整数必须是从 1 开始的计数,并且每个值都需要标记。此外,我们无法计算因子的平均值或其他数字统计数据。

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

非常感谢您的帮助。

安德烈

请注意,我还在以下论坛上发布了这个问题:

  1. GitHub

  2. RStudio 社区

0 投票
1 回答
253 浏览

r - 在保留标签的同时使用 R 保存 Stata 文件

我在 Rhaven包中发现了一个错误,write_dta在 Stata 中读取它时会丢失一些标签。我已经提交了错误haven但我真的需要找到解决方法,直到错误得到修复。下面是解释。

让我们定义一个只有一个标记NA值的标记双精度。

如果我在 Stata 中加载它并输入tab freehms,所有标签都是正确的:

屏幕截图 2019-02-23 at 4 06 36 pm

现在,如果我使用上面的代码并添加另一个标记NA值,然后write_dta出于某种原因删除最后一个标签:

屏幕截图 2019-02-23 at 4 08 29 pm

我已经查看了该write.dta功能,foreign但它似乎不支持版本 11 之后的 Stata 版本。还有其他解决方法吗?

0 投票
1 回答
29 浏览

r - Haven 包将标签添加到 stata 数据

我有一个Stata数据集,0,1我正在阅读R使用

链接到数据

当它加载R到变量中时,它带有1,2类别而不是0,1. 有没有办法避免这种情况?