我有一系列数据框,我想将它们保存为包中的单独 .rda 文件。
我可以用devtools::use_data(my.df1, my.df2...)
但我没有每个数据帧的命名对象,它们都存储在一个大列表中。
我想要做的是为每个列表元素调用 use_data 并使用列表名称作为 .rda 文件名。但是当我执行以下操作时,我收到一条错误消息:
> lapply(my.list, devtools::use_data, overwrite = TRUE)
Error: Can only save existing named objects
我怎样才能做到这一点?
The use_data
函数似乎非常奇怪,确实需要将不带引号的名称作为参数传递,该参数指向要保存的对象。这不利于处理列表中的对象。但这是一个可能的解决方案walk2
from purrr
(尽管你可能可以用mapply()
如果你想只使用基本R)
library(purrr)
library(devtools)
walk2(my.list, names(my.list), function(obj, name) {
assign(name, obj)
do.call("use_data", list(as.name(name), overwrite = TRUE))
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)