带有输入的 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"))
如果 运行 您的函数中的任何一个,它将按预期工作。
我正在使用 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"))
如果 运行 您的函数中的任何一个,它将按预期工作。