从R中的lm中提取变量以使用预测

时间:2018-02-03 16:38:18

标签: r lm predict

说我运行以下<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Please follow the link below</title> </head> <body> <button onclick="goSomewhere();">Redirect</button> </body> </html>

lm

我可以执行以下操作来执行单元素预测

my.model = lm(distance ~ speed, data = my.data)

情况如下:我有一个predict(my.model, speed = c(40)) ,我知道它的作用(它是速度距离的回归),但我不知道回归量被命名为速度。我怎么还能预测?

lm

我可以通过predict(my.model, ??? = c(40)) 获取回归者的名字,但我无法弄清楚如何将其传递给预测

names(my.model$coefficients)无法工作

有什么建议吗?

谢谢!

2 个答案:

答案 0 :(得分:5)

使用内置BOD作为示例运行lm,然后传递一个元素列表 或predict使用setNames设置适当名称的数据框:

fm <- lm(demand ~ Time, BOD)

predict(fm, setNames(list(5.5), variable.names(fm)[2]))
##        1 
## 17.98929 

另一种方法是根本不使用predict。使用上面的fm

coef(fm) %*% c(1, 5.5)
##          [,1]
## [1,] 17.98929

答案 1 :(得分:1)

namespace MyApp { class MyAppClass : Object { Entry myAppEntry; public MyAppClass () { Builder builder = new Builder.from_file("myApp.ui"); myAppEntry = builder.get_object("myAppEntry") as Entry; } public void button_click(){ stdout.write(myAppEntry.get_text().data); //There is a segmentation error } } } 为例

iris

说明

myModel = lm(Petal.Width ~ Sepal.Length, data = iris) predict(myModel, structure(list(1), .Names = attr(terms(myModel), "term.labels"), class = "data.frame")) # 1 #-2.447297 中的自变量名称使用:

恢复
myModel

如果我们想在attr(terms(myModel), "term.labels") #[1] "Sepal.Length" 中动态创建一个名为独立变量的列的data.frame,我们会这样做:

myModel

然后我们使用以下内容将structure(list(1), .Names = attr(terms(myModel), "term.labels"), class = "data.frame") # Sepal.Length #1 1 传递给data.frame predict对象的方法:

lm