我有一个功能列表,我想通过用户输入选择其中一个,使用它进行回归,然后显示函数输出 summary 和积
re_show<-function(y){
f1<-x+I(x^2)
f2<-I(x^0.5)+I(x^2)
...
f20<-x+I(x^0.5)+I(x^2)
message("Choose the model")
i <- readLines(n = 1)
summary(lm(y~i))
plot(lm(y~i))
}
您对如何解决此问题有任何想法吗? 谢谢。
答案 0 :(得分:1)
这里是我能为你的功能提供的最普遍的答案。我已将其更改为接受因变量,自变量和数据集。如果您不喜欢此选项,则始终可以将参数设置为默认值,或者将功能修改为特定方案。现在,此功能将允许您使用您希望的任何数据集(未提供样本数据)。我还添加了一个switch
语句,允许用户从stdin中选择要使用的模型。使用iris
数据集显示了一个简单的示例。
re_show<-function(dv, iv, dat){
# Define your variables to evaluate
x <- dat[,iv]
y <- dat[,dv]
# choose the function
message("Choose the model")
fun <- readLines(n = 1)
# The switch statement
i <- switch(fun,
f1 = {x+I(x^2)},
f2 = {I(x^0.5)+I(x^2)},
# add your remaining functions
f20 = {x+I(x^0.5)+I(x^2)}
)
# finish your analysis
print(summary(lm(y~i)))
plot(lm(y~i))
}
data(iris)
re_show("Sepal.Length", "Sepal.Width", iris)