功能:
linear_regression <- function(dataframe, target) {
model = lm(target ~ .,data = dataframe)
return(model)
}
我使用的数据帧名为test2,目标列名为
DP_POWER- DP_POWER
在外面运行:
lm(test2$`DP_POWER- DP_POWER` ~ .,data = test2)
结果
Call:
lm(formula = test2$`DP_POWER- DP_POWER` ~ ., data = test2)
Coefficients:
(Intercept) `OTHER VARIABLE`
1154.789 1.134
通过调用在函数内部运行此命令:
linear_regression(dataframe = test2, target = test2$`DP_POWER- DP_POWER`)
Call:
lm(formula = target ~ ., data = dataframe)
Coefficients:
(Intercept) `DP_POWER- DP_POWER`
-1.807e-10 1.000e+00
`OTHER VARIABLE`
-1.552e-15
您可以清楚地看到,出于某种原因运行我的用户自定义函数会计算DP\u POWER-DP\u POWER,而在控制台中运行它则不会。
为什么会发生这种情况?我该如何防止?