R 通过用户输入选择函数

R 通过用户输入选择函数,r,readline,R,Readline,我有一个函数列表,我想通过用户输入选择其中一个函数,将其用于回归,然后显示函数摘要和绘图的输出 re_show这是我能为你的函数提供的最概括的答案。我将其修改为接受因变量、自变量和数据集。如果不喜欢此选项,则始终可以将参数设置为默认值,或根据特定场景修改函数。目前,此函数允许您使用任何希望使用的数据集(如果没有提供示例数据)。我还添加了一个switch语句,允许用户从stdin中选择要使用的型号。iris数据集显示了一个简单的示例 re_show<-function(dv, iv, dat

我有一个函数列表,我想通过用户输入选择其中一个函数,将其用于回归,然后显示函数摘要和绘图的输出


re_show这是我能为你的函数提供的最概括的答案。我将其修改为接受因变量、自变量和数据集。如果不喜欢此选项,则始终可以将参数设置为默认值,或根据特定场景修改函数。目前,此函数允许您使用任何希望使用的数据集(如果没有提供示例数据)。我还添加了一个
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)

re\u show首先尝试将公式创建为chracter字符串,然后转换为公式(假设用户输入定义了模型方程的右侧):
formula(粘贴(“y~”,i,sep=”“)
@Ndr,您希望用户指定f函数(例如f1、f2等)还是变量?如果是前者,
开关
是一个不错的选择。
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)