我正在尝试使用map()将对象列表单独保存为压缩格式的文件(如.rds文件)。该代码首先读取所有对象和内存,对其进行过滤以仅包括感兴趣对象的类型,并将结果存储为列表。然后,该函数应继续操作并一次获取一个对象,并将结果保存为rds格式。但是,我显然还不了解有关{{语法的新文章。我放入reprex的结果是最新尝试。有人可以直接帮助我,也可以将我发送到其他资源(tidyverse网站上的rlang 0.4帖子除外)来解释如何以我什至可以理解的方式使用curl-curly。我正尝试在研究中切换到一种更具功能性的方法,在此提供的帮助将不胜感激。代码如下。
library(tidyverse)
library(rlang)
#>
#> Attaching package: 'rlang'
#> The following objects are masked from 'package:purrr':
#>
#> %@%, as_function, flatten, flatten_chr, flatten_dbl,
#> flatten_int, flatten_lgl, flatten_raw, invoke, list_along,
#> modify, prepend, splice
## Prepare the vector of object names
objs_fail <- enframe(objects(), name = NULL) %>%
filter(str_sub(value, 1,3) %in% c("dif", "fil", "met", "myD", "tss"))
objs_fail <- as.list(objs_fail$value)
type <- "vfail"
## function to take the objects and store them into individual compressed files
save_the_files <- function(objs, type) {
map({{objs}}, saveRDS(.data[[obj]],
paste0("./cg_", type, "/", .data[[obj]], "_", type, ".rds")))
}
由reprex软件包(v0.3.0)于2019-07-14创建
该函数将通过类似的调用
进行调用save_the_files(objs_fail, "vfail")
,列表中的各个对象将是类似于“ diffAnn”的字符串
感谢您的帮助。
吉姆·亨特