如何解决带有输入的 R 中的 Load() 函数
我正在使用 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"))
如果在您的函数中运行其中任何一个,它将按预期工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。