r - 关于在 rlang 4.0 中使用 curly-curly '{{ }}' 的问题
问题描述
我正在尝试使用 map() 将对象列表单独保存在压缩格式文件中(作为 .rds 文件)。代码首先读取所有对象和内存,过滤它们以仅包含感兴趣的对象类型并将结果存储为列表。然后该函数应该继续并一次获取一个对象并将结果保存为 rds 格式。但是,我显然还没有理解关于 {{ 语法的新文章。我放入reprex的结果是最新的尝试。有人可以直接帮助或将我发送到另一个资源(除了 tidyverse 网站上的 rlang 0.4 帖子),它解释了如何以我能理解的方式使用 curly-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 年 7 月 14 日创建
该函数将通过如下调用调用
save_the_files(objs_fail, "vfail")
并且列表中的单个对象将是类似“diffAnn”的字符串
谢谢您的帮助。
吉姆·亨特
解决方案
推荐阅读
- python - 文本文件到字典,然后在 python 中打印信息
- php - Laravel dom 爬虫在 javascript 中搜索 img
- php - 从用户的 IP 填充数据库中的纬度和经度
- angular - 如何在 Angular 反应式表单中填充选择表单字段?
- javascript - 如何在 jwplayer 中禁用播放列表最后一个视频的 Next Up Card
- java - 我如何使用 Collections.sort 打印单词集合并打印单词的第一个字母
- javascript - 百度的 echarts - 填满两行之间的空间
- java - 从文本文件中获取所有单词(Java)
- c - 有人问我这段代码有什么问题
- javascript - 带有 React 的 Ant Design,菜单无法在移动设备上呈现