带有输入的 R 中的 Load() 函数

Load() function in R with an input

我正在使用 R 创建一个允许我加载特定 Rdata 的函数。 所以我有几个不同的文件,每个文件都包含一个特定的 Rdata 集。例如,如果我想加载有关北线的信息,我会写 load(“TfL/Line/northern/Arrivals.Rdata")

如果我想要圆线,我会写 load(“TfL/Line/circle/Arrivals.Rdata")

问题是,我可以使用加载函数编写一个函数,将管线的名称(比如 LineName)作为输入吗?我试过了

Get_information<- function(LineName==NULL){
load(“TfL/Line/LineName/Arrivals.Rdata")}

这行不通。有人可以帮我处理这个吗?谢谢!

您需要将 'LineName' 作为变量传递。目前您只是将“LineName”写为字符串文字。

有几个函数可以做到这一点:

粘贴0

Paste0 将字符向量(文字或对象)组合成一个字符串:

load(paste0(“TfL/Line/", LineName, "/Arrivals.Rdata"))

胶水

Glue 是一个 CRAN 包,其功能与 paste0 类似,但更易于编写和阅读:

#install.packages("glue") #<- run if you don't have glue installed
require("glue") # attach the package so that we can use 'glue'
load(glue("TfL/Line/{LineName}/Arrivals.Rdata"))

如果 运行 您的函数中的任何一个,它将按预期工作。