在函数内加载 Rdata 文件

Bha*_*mar 5 r

我有一个必须将数据集传递给的函数。

loading <- function(dataset){
merchants <- load(dataset)
return(merchants)
}
Run Code Online (Sandbox Code Playgroud)

但是当我使用加载函数时它返回一个字符向量

loading("capital.Rdata")
"capital"
Run Code Online (Sandbox Code Playgroud)

如何在函数内加载数据?

Ste*_*ald 5

load()命令不返回存储在 RData 文件中的对象。相反,它返回一个字符向量,其中列出了从 Rdata 文件加载的所有对象的名称。您的对象显然被称为capital,所以您也许可以这样做:

loading <- function(dataset){
   merchants <- load(dataset)
   return(get(merchants))
}
Run Code Online (Sandbox Code Playgroud)

您向get()函数传递一个字符串,它返回该名称的对象。

请注意,如果 RData 文件中保存了多个对象,则此方法将不起作用。检查是否存在多个对象,并可能返回所有对象,留给读者作为练习。

  • `get` 一次仅检索 1 个对象。对多个对象使用“mget”。 (3认同)

小智 0

查看ls()。您应该已保存在"capital.Rdata"加载中的变量。您的函数返回您保存的变量名称,在本例中应该是capital.