如何解决如何通过R包中的字符串调用内部数据集
我在构建本地 R 包(例如 data_abc,data_cdj,...,data_mnp
)期间包含了一些内部数据集。然后我尝试编写一个函数来根据用户的输入参数 p
调用这些数据集之一,它将 abc
、cdj
、...
、mnp
例如:
get_data <- function(p) {
use_data <- paste0('data_','p')
...
return(use_data)
}
由于 use_data <- paste0('data_','p')
是一个字符串,我的问题是如何让函数返回内部数据,例如 data_mnp
if p = 'mnp'
。
解决方法
我认为这是你需要做的,但我很想得到纠正。
get_data <- function(p) {
data_name = paste0( "data_",p )
# check first that it exists in your package:
ns <- getNamespace("your.package.name")
if(!exists(data_name,where=ns,inherits=FALSE)) {
stop( "a data set with suffix ",p," does not exist!")
}
return( get( data_name,inherits=FALSE ) )
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。