问题标签 [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 - 在 R 中将值标签分配为字符串值
您好,我从 R 中的 SPSS 导入了一个数据集,该数据集有标签,我想将值标签用作字符串值。有没有办法做到这一点?
我需要根据值标签将每个双标签值变成字符串值。
r - 在 R 中读取 .sav 文件的第一列
我想将 .sav 文件读入 R。但是,它太大了(>11GB)。如果我只能读取部分数据,那应该没问题,但并不理想。那么,有没有办法执行以下任何操作:
- 只读取标题(用于列名)
- 仅导入某些列(而不是整个数据集) - 我已经尝试了函数,
haven
但似乎无法让col_select
参数起作用。 - 读入整个数据集——我知道 .csv 文件的工具,但不知道 .sav 文件的工具。
谢谢你的帮助!
r - 如何更新 R 中的 SPSS 列标签?
在 SPSS 中,似乎有列名,然后是列“标签”,类似于列的描述。如果我通过 Haven 将 SPSS 文件加载到 R 中并使用“查看”功能查看该文件,我可以在该“查看”窗口中看到列名下写入的列标签。所以它在某处,但如果我查看表格属性,我找不到它。寻找答案有点困难,因为似乎 SPSS 的等价因素也被称为标签,所以大多数主题都是关于这个的。Have 有一堆标签函数,但它们都是关于因子标签而不是列名标签。我真的只想访问 R 中的列标签并更新它们。
r - 当答案为 FALSE 或 TRUE 时如何创建 ggplot?
当我的答案是 TRUE 或 FALSE 时,如何使用 ggplot 创建绘图?
这是我的代码:
当我尝试创建绘图时,r 告诉我“不知道如何自动为 Have_labelled/vctrs_vctr/double 类型的对象选择比例。默认为连续。Fehler:stat_count() 只能具有 x 或 y 美学。 "
谢谢!
character - “错误:无法转换性格”
我和我的学生都加载了相同的数据集,安装了相同的包,并且运行了相同的代码。当我运行“frq”时,我得到一个频率表,变量被标记为“数字”。当我的学生运行相同的代码时,她得到"Error: Can't convert <haven_labelled> to character."
关于我们可能出错的地方有什么想法吗?
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 中导入数据?
我试图以多种方式克服这个问题,但我的尝试似乎都没有奏效。
首先,我尝试使用扩展我的 r 环境的内存大小,
Sys.setenv('R_MAX_VSIZE'=32000000000)
但是当我尝试导入数据时控制台报告了相同的错误。这个问题似乎与我在 R 中的内存大小无关。我尝试使用 Stata 以 Stata 13 格式保存数据
saveold my_data13, version(13)
,但尝试将其导入 Rhaven
仍然会产生相同的错误消息。我尝试使用 readstata13 函数
read.dta13(my_data13)
,但这经常导致 R 崩溃。
奇怪的是,我只需双击即可在 Stata 中正确打开数据。
有人对如何解决这个问题有任何建议吗?任何关于 a) 错误消息的含义以及如何解决它 2) 能够操作 stata15 文件的替代包 c) 能够在 R 中打开数据的方法的任何见解都将受到欢迎。
非常感谢您的帮助
最好的祝福
r - head() 函数失败
我想使用该head()
函数来概览数据集,但它不起作用。
is.character(子类)中的错误:缺少参数“子类”,没有默认值
is.character(子类)中的错误:缺少参数“子类”,没有默认值
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) 以相对快速的方式进行。
r - 如何仅提取具有多个类的对象类之一
假设我有一个名为“a”的小标题。它分为三个类:
如何仅提取其中一个类?
不起作用。
另一个例子是一个haven_labelled
对象,b
它有三个类:
我怎样才能只提取的双部分b
?
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。