将数据框保存到按名称寻址的文件中

Save a data frame to a file addressing by name

我有一个数据框和一个包含此数据框名称的文本变量:

adsl = data.frame(a=2, b=7, w=17)
ds_name = "adsl" 

我想将我的数据框从工作区保存到名为 "dest_file" 的文件中。代码应该被包装成一个函数 get_r() 以数据框名称作为参数:

get_r(ds_name="adsl")

所以我需要避免在代码中使用显式名称"adsl"。

以下工作几乎正确,但生成的数据框称为 "temp_dataset",而不是 "adsl":

get_r = function(ds_name){
    temp_dataset = eval(parse(text=ds_name))
    save(temp_dataset, file = "dest_file")
}

这是另一个错误的选项(正在保存文本字符串,而不是数据框):

get_r = function(ds_name){
    save(ds_name, file = "dest_file")
}

我应该怎么做才能让R只执行

save(adsl, file="dest_file") 

函数内部?感谢您的帮助。

尝试

save(list = ds_name, file = "dest_file")

save() 中的 list 参数允许您将数据名称作为字符串传递。有关更多信息,请参阅 help(save)