read_sas cols_only抑制错误评估错误:第2列必须命名

乔纳森·诺兰

我有一堆非常大的SAS文件。我想使用read_sas导入它们。为了提高速度并减少内存使用,我只想导入我对使用cols_only感兴趣的列。

麻烦的是,我有一长列可能的列名-但并不是每列都在我的数据集中。如果我将完整列表传递给cols_only,则会收到错误消息:

Evaluation error: Column 2 must be named.

有没有一种方法可以抑制此错误,并鼓励read_sas尽最大努力从我已通过的列表中导入它可以输入的任何变量?

米科·马蒂拉(Mikko Marttila)

正如@Andrew在其评论中提到的那样,如果避风港> = 2.2.0,则可以col_select为此使用新参数。要选择可能不存在的列,请使用帮助器one_of()

library(haven)
library(tidyselect)

f <- tempfile()
write_sas(mtcars, f)

my_cols <- c("mpg", "i-don't-exist")
read_sas(f, col_select = one_of(my_cols))
#> Warning: Unknown columns: `i-don't-exist`
#> # A tibble: 32 x 1
#>      mpg
#>    <dbl>
#>  1  21  
#>  2  21  
#>  3  22.8
#>  4  21.4
#>  5  18.7
#>  6  18.1
#>  7  14.3
#>  8  24.4
#>  9  22.8
#> 10  19.2
#> # ... with 22 more rows

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫read_sas错误:'ascii'编解码器无法解码位置0的字节0xd8:序数不在范围内(128)

来自分类Dev

使用read_sas后如何从b'Text'中以pandas对象类型获取Text?

来自分类Dev

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

来自分类Dev

将命名列表传递给cols_only()

来自分类Dev

SAS日期导入错误

来自分类Dev

SAS简单宏-错误

来自分类Dev

简单SAS宏错误

来自分类Dev

未捕获(承诺)错误:第1行有42列,但必须有2列

来自分类Dev

引发SAS EG中的错误

来自分类Dev

sas proc导出错误

来自分类Dev

SAS:Proc排序nodupkeys错误

来自分类Dev

引发SAS EG中的错误

来自分类Dev

使用 prxmatch 和 DS2 出现 SAS 错误

来自分类Dev

抑制SAS中的HTML输出

来自分类Dev

symfony2错误:sessionHandler :: read()

来自分类Dev

symfony2错误:sessionHandler :: read()

来自分类Dev

SAS不评估%PUT的内容

来自分类Dev

SAS中的“提交”语句出现错误

来自分类Dev

SAS ODS转义字符宏变量错误

来自分类Dev

SAS中的“提交”语句出现错误

来自分类Dev

SAS Web服务:对SOAP请求的错误响应

来自分类Dev

SAS宏中的错误处理

来自分类Dev

SAS%INCLUDE语句-即使发生错误也继续

来自分类Dev

SAS中没有匹配的%macro错误

来自分类Dev

显示我错误的%DO循环为SAS

来自分类Dev

将文件从Excel导入SAS错误消息

来自分类Dev

发现错误后继续SAS处理

来自分类Dev

SAS:数据步骤中的宏过程错误

来自分类Dev

SAS%INCLUDE语句-即使发生错误也继续