2011-12-02 95 views
2

我是R的新手,我正在尝试做线性预测。这里有一些简单的数据:用R进行线性预测:如何访问预测参数?

test.frame<-data.frame(year=8:11, value= c(12050,15292,23907,33991)) 

说如果我想预测值year=12。这是我在做什么(用不同的命令进行试验):

lma=lm(test.frame$value~test.frame$year) # let's get a linear fit 
summary(lma)        # let's see some parameters 
attributes(lma)       # let's see what parameters we can call 
lma$coefficients       # I get the intercept and gradient 
predict(lm(test.frame$value~test.frame$year)) 
newyear <- 12        # new value for year 
predict.lm(lma, newyear)     # predicted value for the new year 

一些疑问:

  1. 如果我发出命令lma$coefficients例如,两个值的向量被返回给我。如何只选择截距值?

  2. 我得到很多输出与predict.lm(lma, newyear)但无法理解预测值在哪里。有人可以澄清?

非常感谢......

+0

我已经更新了我的答案,让正确的答案与变你的问题的名字 – abcde123483

+1

另外,'lm(value〜year,data = test.frame)'是指定模型的一种更可读的方式,第一次学习R时相当兴奋。 –

+0

@ mindless.panda好的谢谢。 1投票起来 – yCalleecharan

回答

4

拦截:

lma$coefficients[1] 

预测,试试这个:

test.frame <- data.frame(year=12, value=0) 
predict.lm(lma, test.frame) 
+0

@ ulvund谢谢。它很好地工作。 1投票。 – yCalleecharan