问题标签 [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.
r - 从使用 Haven 加载的 Stata 文件中提取值标签(值标签不是变量标签)
我正在尝试从我加载的数据框架中获取值标签列表。我的变量存储为have_labelled,我知道值标签在那里,因为当我运行str()
它们时,它们被列为属性。
似乎有很多获得变量标签的好方法。我无法弄清楚如何使用 SPSS 获取 R 包 Haven 中的值标签 Variable labels或使用 Haven导入 Stata 数据后访问变量标签的便捷方式
我尝试将变量转换为因子,并且
本质上,我希望看到与 x$transwork 1- 到 19 相关的标签
r - 如何使用 mutate_at 和 set_value_labels 来更改多个变量的值标签?
如何在通过 SPSS 导入的数据框中设置多个变量的值标签haven
。这会产生haven_labelled
类的变量。我正在尝试使用[labelled][1]
package 设置值标签。
最后,我希望这四个变量中的每一个都具有相同的值标签。这可行,但我正在尝试简化代码。
recode - psych 包可以帮助从带有 Haven 包的 SPSS 导入的数据帧中反转代码问题吗?
我练习 R 时使用的大部分数据都是使用 Haven 包从我的 SPSS 文件中导入的。我正在尝试为从 1 到 9 的刻度反转几列代码(即,尝试将所有 1 转换为 9,将 2 转换为 8 等)并找到另一个描述 psych 包的论坛。我已经对我的数据进行了尝试,几乎可以肯定我的代码是正确的(并且变量拼写正确),但我不断收到错误消息:需要数字/复数矩阵/向量参数。我想知道这是否是因为数据文件中列的类是“避风港标签”而不是数字。
r - 如何将存储为 .txt 文件的 SAS/SPSS 格式标签添加到 R?
我正在处理一项大型调查。主要调查数据存储为 CSV 文件。变量和值标签文件包含在 SAS 格式和 SPSS 格式中,但存储为 TXT 文件。
我已经看到,当数据以SAS/SPSS/STATA 本机格式 (.sas/.sav/.dta)保存时,有几种方法可以轻松地将数据读入 R。到目前为止,我遇到的所有使用haven
,解决方案labelled
的foreign
解决方案都假定数据是使用相应的“其他”程序的本机格式存储的。我似乎找不到任何关于如何使用以某些标准 SAS/SPSS 格式存储的 TXT 文件为 CSV 数据添加标签的建议。
因此,假设我拥有的三个文件被命名为:
data.csv
sas_var_labels.txt
sas_val_labels.txt
data.csv
看起来像:
sas_var_labels.txt
看起来像这样:
最后,sas_val_labels.txt
看起来像这样:
到目前为止我的方法:
对于主要数据,我只是调用:
对于变量标签,由于标签的数量与数据中的列完全匹配,我只是以相同的方式读取 TXT 文件,然后使用包中的将第二列分配给var_label()
数据labelled
:
另一方面,对于值标签,我的方法变得更加复杂,因为标签文件没有被所有列和行组合的分隔符整齐地分隔,如您在上面提供的示例中所见。
我的第一个问题是:有没有一种简单的方法可以读取这个文件,以便保留值标签 TXT 文件的结构?
我更普遍的问题是:是否有更好的方法来处理这些标签 TXT 文件?我确定我遗漏了一些东西,所以欢迎提出任何建议。
r - 加载 Haven 时使用 plm 包估计随机效应模型时出错
plm
在用 R 中的包估计随机效应时,我遇到了一个奇怪的问题。
这是dput
我的部分数据的链接:https ://pastebin.com/raw/mTdh26dg
我的代码是:
我包含的原因libary(haven)
是我的原始数据集是一个 .dta 文件。
当我运行此代码时,我收到此错误:
奇怪的是,如果我从一个干净的 R 会话开始并且不加载haven
(并且从 导入数据dput
),我不会收到此错误。如果我从导入dput
但仍然加载,我确实会收到错误haven
消息。within
估计或模型时我也没有得到错误pooling
(即使有 Haven loaded
)。
这是我的sessionInfo()
:
这是plm
或中的错误haven
吗?或者两者(或它们的依赖关系)的某种不兼容?
r - 在检查因子水平和缺失数据后,`ggeffect` 或 `Effect` 无法估计模型中的边际效应
使用haven
从包含标签的数据集中导入的数据,我无法使用ggeffect()
from the packageggeffects
或Effect()
from the package获得边际效应effects
使用这些函数时,会提示错误,尽管已经检查了模型预测变量中的水平数和缺失案例。这篇文章解释了如何调试这些最后的情况,避免空因子水平或缺失的情况,这将阻碍获得边际效应。
虽然,在没有这些问题的情况下,我仍然会收到错误消息ggeffect()
:Can't compute marginal effects, 'effects::Effect()' returned an error.
;或 in effects::Effect()
:Error in eval(parse(text = x, keep.source = FALSE)[[1L]])
因为没有找到一些预测对象。
我还可以检查我的数据以计算边际效应吗?
r - r - 使用 r 从 s3 读取 zip 文件
是否可以使用 r读取压缩sas
文件(或任何类型或文件) ?s3
这是我正在尝试的:
但它显然不承认.
. 我没有找到任何关于.zip
从s3
r - if_else 与have_labelled 列失败,因为错误的类
我有以下数据:
如您所见,数据使用了 tidyverse 的 Haven 包中的一个特殊类,即labelled
列。
现在我想重新编码我的初始value
变量,这样:
如果 group 等于 1,则 value 应该保持不变,否则应该丢失
我正在尝试以下操作,但出现错误:
我了解到,来自 dplyr 的 if_else 要求 if_else 命令中的真假检查属于同一类,并且由于标记的类没有 NA 等效项(例如,类似于NA_real_
双精度数),因此代码可能会失败,对?
那么,我怎样才能重新编码我的初始变量并保留标签?
我知道我可以更改上面的代码并替换为if_else
R 的基本版本ifelse
。但是,这会删除所有标签并将值列强制为数字列。
r - 安装包避风港的问题
我正在尝试安装包避风港,但是在库中打开它时说:没有包“hms”。所以我尝试安装包装“hms”。但它给了我这个错误信息:
我是 R 新手,所以可能有一个简单的答案,但我自己无法解决这个问题。
r - 如何获取由 R 中的 as_factor 转换的带标签的 spss 数据
我正在处理 R 中的 SPSS 数据。要修改/附加来自不同文件的数据,我必须将数据转换为因子(as_factor(x, levels = "both") 方法)。现在我需要将数据写回 .SAV 文件,但我无法将因子变量转换为标记数据。请看下面的代码片段:-
有没有办法从因子转换为spss数据。