问题标签 [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 投票
0 回答
942 浏览

r - 在 R 中读取 SAS 文件时出错

我尝试使用havenR 中的包读取 SAS 文件。

但是,当我尝试读取这样的文件时:

我收到以下错误

这很奇怪,因为当我尝试使用 加载另一个文件时read.sas7bdat,它可以工作,即

关于这里出了什么问题的任何想法?

0 投票
1 回答
696 浏览

r - 阅读尚未在 Stata 中创建 dta 文件 - 如何处理变量名中的点?

我们正在使用在 R 中创建的数据在 Stata 中工作,这些数据已使用haven包导出。我们偶然发现了名称中带有点的变量的问题。为了复制这个问题,一些最小的 R 代码:

现在,在 Stata 中,当我这样做时:

第一个问题 - 我得到一个空数据集。第二个问题——我们得到一个带点的变量名——这在 Stata 中应该是非法的。因此,任何直接使用变量名的命令,如

返回错误:

是什么导致了这种行为?这个问题有什么解决办法吗?

0 投票
3 回答
8048 浏览

r - 从 Stata 导入的“已标记”小标题列中提取标签属性

Hadley Wickham 的haven包,应用于Stata 文件,返回一个包含许多“标记”类型的列的小标题。您可以使用 str() 查看这些内容,例如:

如果我可以简单地将所有这些标记的向量提取为因子会很好,但我已经将标签属性的长度与每个向量中唯一值的数量进行了比较,它有时更长,有时更短。所以我认为我需要查看所有这些并决定如何单独处理每一个。

所以我想将标签属性的值提取到一个列表中。但是,此功能:

为所有变量返回 NULL。

这是一个 tibble 与数据框的问题吗?如何从 tibble 列中提取这些属性到列表中?

请注意,标签向量已命名,我需要标签和名称。

根据@Hack-R 的请求,这里是我的数据的一小段,由 dput 转换(我以前从未使用过)。我应用了这段代码:

生成文件很小。嘿!那很简单!我认为很难折断这么小的一块。

用记事本++打开小,这是我发现的:

我怀疑这可以通过一点间距使其更具可读性,但我不想搞砸它,因为担心会意外破坏相关信息。

0 投票
2 回答
1212 浏览

r - Rhave:读取spss文件时缺少标签和标签名称

我正在使用 R 的 Haven 包来读取带有user_na=TRUE. 该文件有许多带有值标签的字符串变量。在 R 中,只有第一个字符串变量 ( SizeofH1) 具有分配给它的正确值标签作为属性。不幸的是,我什至无法提供此数据的片段以使其完全可重现,但这是我在 PSPP 中看到的屏幕截图

PSPP 数据编辑器

以及str()R中的返回...

我希望有人可以指出导致这种行为的任何可能原因。

0 投票
1 回答
211 浏览

r - R - 使用 Haven 包中的 read_sav 后订购数据帧时丢失标签

我使用包中的read_sav函数haven来导入 SPSS 文件。因此我有列名和关联标签(类labelled)。

我在订购数据框时丢失了标签。我可以避免在订购前转换因子的问题,但它是错误还是正常行为?

这是一个简单的例子。

DataForExample <- structure(list(CollectorNm = structure(c("Email Invitation 8", "Email Invitation 8", "Email Invitation 8", "Email Invitation 8", "Email Invitation 8", "Email Invitation 8"), label = "CollectorNm"), q0001 = structure(c(1, 1, 1, 1, 1, 1), label = "Avez-vous déjà suivi la formation Atlas-Vente des 18 et 19 octobre ?", class = "labelled", labels = structure(c(1, 2), .Names = c("Oui, j'ai bien suivi cette formation.", "Non, je n'y ai pas participé." ))), q0002_0001 = structure(c(3, 3, 3, 2, 3, 3), label = "La formation dans son ensemble", class = "labelled", labels = structure(c(1, 2, 3, 4), .Names = c("pas du tout satisfait", "plutôt pas satisfait", "plutôt satisfait", "très satisfait")))), .Names = c("CollectorNm", "q0001", "q0002_0001"), class = c("tbl_df", "tbl", "data.frame" ), row.names = c(NA, -6L))

View(DataForExample) # OK Toto <- DataForExample[order(DataForExample$q0001_0001),] View(Toto) # NOK : the labels disappeared

谢谢

0 投票
1 回答
890 浏览

r - R - 在使用 Haven 包中的 read_sav 后子集数据帧时丢失标签

我使用包中的read_sav函数haven来导入 SPSS 文件。因此我有列名和关联标签(类标签)。

当我使用 对数据框进行子集化时,我丢失了标签subset。我可以使用索引的解决方法,data[i]但这种行为是否是错误?

这是一个简单的例子。

谢谢

0 投票
2 回答
1606 浏览

r - 使用 Haven 读取 .sav(SPSS_ 文件):将标记向量更改为字符串或因子

我正在使用该haven库将.sav(SPSS)文件读入 R。

一些值被读取为labelled vector.

这是一个例子:

如何vector获得标签名称的值?

0 投票
0 回答
1749 浏览

r - write_dta 在 R 中不起作用

当我在包含以下代码的 RStudio 中运行 stackQuestion.R 时:

它工作正常。

当我跑

从 Mac 终端我得到错误

Fehler in eval(substitute(expr), envir, enclos) :写入失败:无法写入数据。Ruft auf: write_dta -> write_dta_ -> .Call

更新:

现在,第一个代码也不再起作用了。我总是得到错误:

Fehler in eval(substitute(expr), envir, enclos) :写入失败:无法写入数据。

通过“外国”导出效果很好(因此没有关于写作权的问题)。

我真的很茫然,任何提示都非常感谢!

操作系统:macOS 10.12.2 (16C67) RStudio:1.0.136 R:3.3.2 (2016-10-31)

0 投票
6 回答
3403 浏览

r - 为多个标记变量设置缺失值

如何为数据框中的多个标记向量设置缺失值。我正在使用来自 spss 的调查数据集。我正在处理大约 20 个具有相同缺失值的不同变量。所以想找到一种方法来使用 lapply() 来完成这项工作,但我做不到。

我实际上可以通过 as.numeric() 然后 recode() 使用 base R 来做到这一点,但我对避风港和标记类的可能性很感兴趣,所以我想在 Hadley 的 tidyverse 中找到一种方法来完成这一切

大致感兴趣的变量看起来像这样。如果这是一个基本问题,我很抱歉,但我发现与避风港和标签包相关的帮助文档非常无用。

0 投票
0 回答
108 浏览

r - 替代循环在数据框中的双括号

我通过 Haven 包导入到 R 的 spss 数据集有一个不寻常的问题(我还在GitHub 上发表了一篇关于此的帖子)。数据集充满了具有缺失值定义的变量,这些变量不包含在值标签中,这会导致 R 中的错​​误。-77 被定义为缺失值,但不是值标签。索引变量的列返回

我发现解决此问题的唯一方法是应用标签,删除缺失值,然后删除标签:

该解决方案依赖于双括号(或 $)。我想知道将其应用于大型数据集中的所有数字变量的最快方法是什么。我可以使用 for 循环轻松地做到这一点,但我正在寻找更快的东西。