我有一个要求两个参数的函数:
糟糕:独立变量始终是第一列
但是,例如,如果用户给我一个名为dataGiven的数据框,则该列的名称为:“剂量”,“重量” 我希望我的模型名称在结果中包含这些名称
我的实际函数正确地创建了lm,但是我从数据框中获得的公式名称消失了(并显示了我如何从函数中获取数据)
Results_REG<- function (dataRead, variableChosen){
fit1 <- lm(formula = dataRead[,1]~dataRead[,variableChosen])
return(fit1)
}
当我打电话时:
test1 <- Results_REG(dataGive, "Weight")
names(teste1$model)
显示:
"dataRead[, 1]" "dataRead[, variableChosen]"
我想显示我的数据框列名称,例如:
"Doses" "Weight"
答案 0 :(得分:0)
首先,没有reproducible code example总是很难提供帮助。对于以后的文章,我建议您熟悉如何提供这种最小的可重复示例。
我不清楚您要问的是什么,因此我假设这是关于如何基于单个用户选择的预测变量{{1}创建基于data
的简单线性模型的函数}}。
以下是基于var
mtcars
您可以确认其结果与
相同results_LM <- function(data, var) {
lm(data[, 1] ~ data[, var])
}
results_LM(mtcars, "disp")
#Call:
#lm(formula = data[, 1] ~ data[, var])
#
#Coefficients:
#(Intercept) data[, var]
# 29.59985 -0.04122
或者您正在问如何为预测变量使用列名?在这种情况下,我们可以使用lm(mpg ~ disp, data = mtcars)
来构造一个公式,该公式与as.formula
中的data
参数一起使用。
lm