我有一堆非常大的SAS文件。我想使用read_sas导入它们。为了提高速度并减少内存使用,我只想导入我对使用cols_only感兴趣的列。
麻烦的是,我有一长列可能的列名-但并不是每列都在我的数据集中。如果我将完整列表传递给cols_only,则会收到错误消息:
Evaluation error: Column 2 must be named.
有没有一种方法可以抑制此错误,并鼓励read_sas尽最大努力从我已通过的列表中导入它可以输入的任何变量?
正如@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] 删除。
我来说两句