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

r - 在 R 中将值标签分配为字符串值

您好,我从 R 中的 SPSS 导入了一个数据集,该数据集有标签,我想将值标签用作字符串值。有没有办法做到这一点?

我需要根据值标签将每个双标签值变成字符串值。

0 投票
1 回答
404 浏览

r - 在 R 中读取 .sav 文件的第一列

我想将 .sav 文件读入 R。但是,它太大了(>11GB)。如果我只能读取部分数据,那应该没问题,但并不理想。那么,有没有办法执行以下任何操作:

  • 只读取标题(用于列名)
  • 仅导入某些列(而不是整个数据集) - 我已经尝试了函数,haven但似乎无法让col_select参数起作用。
  • 读入整个数据集——我知道 .csv 文件的工具,但不知道 .sav 文件的工具。

谢谢你的帮助!

0 投票
0 回答
36 浏览

r - 如何更新 R 中的 SPSS 列标签?

在 SPSS 中,似乎有列名,然后是列“标签”,类似于列的描述。如果我通过 Haven 将 SPSS 文件加载到 R 中并使用“查看”功能查看该文件,我可以在该“查看”窗口中看到列名下写入的列标签。所以它在某处,但如果我查看表格属性,我找不到它。寻找答案有点困难,因为似乎 SPSS 的等价因素也被称为标签,所以大多数主题都是关于这个的。Have 有一堆标签函数,但它们都是关于因子标签而不是列名标签。我真的只想访问 R 中的列标签并更新它们。

0 投票
2 回答
93 浏览

r - 当答案为 FALSE 或 TRUE 时如何创建 ggplot?

当我的答案是 TRUE 或 FALSE 时,如何使用 ggplot 创建绘图?

这是我的代码:

当我尝试创建绘图时,r 告诉我“不知道如何自动为 Have_labelled/vctrs_vctr/double 类型的对象选择比例。默认为连续。Fehler:stat_count() 只能具有 x 或 y 美学。 "

谢谢!

0 投票
1 回答
2583 浏览

character - “错误:无法转换性格”

我和我的学生都加载了相同的数据集,安装了相同的包,并且运行了相同的代码。当我运行“frq”时,我得到一个频率表,变量被标记为“数字”。当我的学生运行相同的代码时,她得到"Error: Can't convert <haven_labelled> to character."

关于我们可能出错的地方有什么想法吗?

0 投票
1 回答
983 浏览

r - 避风港:read_dta 错误()“无法解析 /Users/folder/my_data.dta:无法分配内存。”

我有一个相对较大的.dta文件,有 1280000 个观察值,在 Stata 中运行良好,但我在将其导入 R 时遇到问题。数据是使用 Stata 15 创建的,数据包含 strL 或 str#,#>244 变量,不能以 Stata 12 格式保存。

我正在尝试使用该haven包导入保存的数据,read_dta()但它给了我以下错误消息:"Failed to parse /Users/folder/my_data.dta: Unable to allocate memory." 有谁知道可能导致此问题的原因以及如何克服它以便能够在 R 中导入数据?

我试图以多种方式克服这个问题,但我的尝试似乎都没有奏效。

  1. 首先,我尝试使用扩展我的 r 环境的内存大小,Sys.setenv('R_MAX_VSIZE'=32000000000)但是当我尝试导入数据时控制台报告了相同的错误。这个问题似乎与我在 R 中的内存大小无关。

  2. 我尝试使用 Stata 以 Stata 13 格式保存数据saveold my_data13, version(13),但尝试将其导入 Rhaven仍然会产生相同的错误消息。

  3. 我尝试使用 readstata13 函数read.dta13(my_data13),但这经常导致 R 崩溃。

奇怪的是,我只需双击即可在 Stata 中正确打开数据。

有人对如何解决这个问题有任何建议吗?任何关于 a) 错误消息的含义以及如何解决它 2) 能够操作 stata15 文件的替代包 c) 能够在 R 中打开数据的方法的任何见解都将受到欢迎。

非常感谢您的帮助

最好的祝福

0 投票
1 回答
84 浏览

r - head() 函数失败

我想使用该head()函数来概览数据集,但它不起作用。

is.character(子类)中的错误:缺少参数“子类”,没有默认值

is.character(子类)中的错误:缺少参数“子类”,没有默认值

0 投票
1 回答
318 浏览

r - 保存 .dta:使用 R 的带有很长字符串的数据框

我有一个包含多个变量的 df,有些是非常长的字符串,最多 4500 个字符。我想将此数据库导出为.dta文件。

我尝试使用 Haven 的write_dta()功能保存它,但我收到以下错误消息:Error in write_dta_(data, normalizePath(path, mustWork = FALSE), version = stata_file_format(version), : Writing failure: A provided string value was longer than the available storage size of the specified column.

这是该问题的一个示例:

我知道write_dta处理长字符串时存在问题(https://github.com/tidyverse/haven/issues/437),一种可能性是修剪字符串(write_dta 中的错误:提供的字符串值比可用存储长指定列的大小)。但对我来说,保留完整的字符串是必不可少的。

有没有办法.dta使用 R 将带有长字符串的变量保存为文件?

编辑: 我尝试了readstata13::save.dta13@jay.sf 建议的选项,但这有两个问题:1)无法管理 - 即它截断 - 超过 32-UTF 字符的长变量名,write_dta()管理得很好。2) 它明显慢于write_dta()。鉴于我必须保存一个非常大的数据集,这是一个相关的问题。

总之,有没有其他方法可以让我

a) 保存为 .dta 一个带有很长字符串的 df

b) 保留原始变量名(长于 32-UTF 字符)

c) 以相对快速的方式进行。

0 投票
1 回答
103 浏览

r - 如何仅提取具有多个类的对象类之一

假设我有一个名为“a”的小标题。它分为三个类:

如何仅提取其中一个类?

不起作用。

另一个例子是一个haven_labelled对象,b它有三个类:

我怎样才能只提取的双部分b

0 投票
1 回答
1330 浏览

r - 使用 R 包 Have read_sas 解析失败

我正在使用 Haven 的包命令“ read_sas ”将 sas 数据文件( .sas7bdat)及其相应格式(在 R 语言中称为“标签”)与(.sas7bcat )文件导入 R。在自己的工作中导入 sas 文件就好了。但是,当我尝试使用以下代码导入格式文件时,导入格式文件sas7bcat我收到以下错误消息:

df_parse_sas_file 中的错误(spec_data,spec_cat,encoding = encoding,catalog_encoding = catalog_encoding,无法解析 .../formats.sas7bcat:文件无效,或文件具有不受支持的功能。

我不知道问题出在哪里。我在 SAS 文件中有近 250 个变量,它们都有标签和格式(在 SAS 术语中)。

我已经阅读了与堆栈溢出问题相关的所有内容。我认为问题可能出在格式文件本身,但我无法弄清楚问题所在。

我正在使用最新版本的 Haven 2.3.1 : 和 R v. 4.0.3 (2020-10-10),在 Windows 10 上使用 RStudio v.1.3.1093。

此链接具有格式的 SAS 代码

此链接具有 .sas7bcat 库