我遇到了一些相当容易的事情。从函数中的2个参数,我想形成一个现有的变量名。然后,我想在函数中使用具有此名称的现有变量(来自包的插入符号)。我最后一部分做了一些麻烦。
myfunction <- function(dataset,depvar)
{
First=substitute(dataset) #mydata
Second=substitute(depvar) #Rain
Total=paste(First,Second,sep="$") #"mydata$Rain"
Total=noquote(Total) #mydata$Rain
TrainData <- createDataPartition(y = ????????, p=0.75, list=FALSE)
}
mydata $ Rain是我要插入的现有变量而不是?????
createDataPartition(y = Total, p=0.75, list=FALSE) #doesn't work
createDataPartition(y = get(Total), p=0.75, list=FALSE) #doesn't work as it indicates object 'mydata$Rain' not found.
虽然,mydata $ Rain是一个现有的变量。 任何提示?
答案 0 :(得分:1)
只需将您的功能写为
即可myfunction <- function(dataset,depvar) {
TrainData <- createDataPartition(y = dataset[[depvar]], p=0.75, list=FALSE)
}
并用
调用它myfunction(mydata, "Rain")
如果您坚持标准评估
,一切都会轻松得多