回归响应值为参数
Regression response value is a parameter
我正在尝试创建一个具有特定响应值和数据集的 lm 函数
OLSRegression <- function(dataset, response){
OLS <- lm(dataset[[response]] ~ . , dataset)
}
但是当我输出 OLS 时,响应值也包含在参数中。
Call:
lm(formula = (dataset[["quality"]]) ~ ., data = dataset)
Coefficients:
(Intercept) fixed.acidity volatile.acidity
-1.078e-12 -4.778e-16 1.329e-14
citric.acid residual.sugar chlorides
-1.521e-16 -5.837e-16 1.492e-15
free.sulfur.dioxide total.sulfur.dioxide density
-2.610e-17 1.668e-18 1.079e-12
pH sulphates alcohol
-4.893e-15 -4.460e-15 -1.374e-15
quality
1.000e+00
有没有什么办法可以避免不包括响应(质量)参数?
如果您构建公式,R 将知道排除响应变量。
frm <- as.formula(paste(response, "~ ."))
lm(frm, data = dataset)
示例:
> lm(mpg ~ ., data = mtcars)
Call:
lm(formula = mpg ~ ., data = mtcars)
Coefficients:
(Intercept) cyl disp hp drat wt
12.30337 -0.11144 0.01334 -0.02148 0.78711 -3.71530
qsec vs am gear carb
0.82104 0.31776 2.52023 0.65541 -0.19942
我正在尝试创建一个具有特定响应值和数据集的 lm 函数
OLSRegression <- function(dataset, response){
OLS <- lm(dataset[[response]] ~ . , dataset)
}
但是当我输出 OLS 时,响应值也包含在参数中。
Call:
lm(formula = (dataset[["quality"]]) ~ ., data = dataset)
Coefficients:
(Intercept) fixed.acidity volatile.acidity
-1.078e-12 -4.778e-16 1.329e-14
citric.acid residual.sugar chlorides
-1.521e-16 -5.837e-16 1.492e-15
free.sulfur.dioxide total.sulfur.dioxide density
-2.610e-17 1.668e-18 1.079e-12
pH sulphates alcohol
-4.893e-15 -4.460e-15 -1.374e-15
quality
1.000e+00
有没有什么办法可以避免不包括响应(质量)参数?
如果您构建公式,R 将知道排除响应变量。
frm <- as.formula(paste(response, "~ ."))
lm(frm, data = dataset)
示例:
> lm(mpg ~ ., data = mtcars)
Call:
lm(formula = mpg ~ ., data = mtcars)
Coefficients:
(Intercept) cyl disp hp drat wt
12.30337 -0.11144 0.01334 -0.02148 0.78711 -3.71530
qsec vs am gear carb
0.82104 0.31776 2.52023 0.65541 -0.19942