r - 保存获取的变量(分配后)
问题描述
为什么 R 找不到这个变量?
assign(paste0('my', '_var'), 2)
get(paste0('my', '_var')) ## isn't this returning an object?
save(get(paste0('my', '_var')), file = paste0('my', '_var.RDATA'))
这会引发错误:
Error in save(paste0("my", "_var"), file = paste0("my", "_var.RDATA")) :
object ‘paste0("my", "_var")’ not found
解决方案
从帮助页面中,该save()
函数需要“要保存的对象的名称(作为符号或字符串)”。这些值没有被评估,即您不能放入最终将返回字符串或原始值本身的函数。list=
如果要调用函数以返回变量名称的字符串,请使用该参数。
save(list=paste0('my', '_var'), file = paste0('my', '_var.RDATA'))
尽管在 R 中使用 get/assign 通常不是一个好习惯。它们通常是更好的方法,因此您可能需要重新考虑您的一般方法。
最后,如果您要保存单个对象,则可能需要考虑saveRDS()
。save()
这通常是人们在使用该功能时所期望的行为。
推荐阅读
- algorithm - 自适应采样函数的算法
- bigtable - 如果所有值都被垃圾收集,是否会自动删除一行?
- bash - 从不同路径批量重命名多个文件
- java - 如何在 Java 中创建 SOAP Web 服务,它连接到 Oracle 存储过程并将结果作为 Web 服务响应返回
- go - ...interface{} 函数参数中的“取消引用”元素
- ruby-on-rails - Rails 5:发布路线不适用于根网址
- javascript - 如何替换字符串中的最后一个字符,JS
- android - 使用 FirebaseRecyclerOptions 检索数据
- python-3.x - 如何让插入为入口小部件python工作
- c# - 如何获取当前登录用户的详细信息?