我想接受用户输入,使用该输入调用一个函数,然后将实际参数打印到屏幕上。
fitfun <- function(dataset = Auto, outcome = 1, predictor = 3) {
fits <- lm(dataset[,outcome] ~ dataset[,predictor])
summary.lm(fits)$call
}
此代码的输出是:
> fitfun()
lm(formula = dataset[, outcome] ~ dataset[, predictor])
我想要的是:
> fitfun()
lm(formula = Auto[, 1] ~ Auto[, 3])
对summary(fits)$call
文本进行一些正则表达式修饰,请尝试以下操作:
fitfun <- function(dataset = mtcars, outcome = 1, predictor = 3) {
fits <- lm(dataset[,outcome] ~ dataset[,predictor])
call <- paste(summary(fits)$call, collapse = " ")
call <- gsub("dataset", deparse(substitute(dataset)), call)
call <- gsub("outcome", outcome, call)
call <- gsub("predictor", predictor, call)
return(call)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句