全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2152 2
2015-05-08

rm(list = ls())
n=1000
gy=read.delim("2013gdp.txt")
y=data.matrix(gy[2])
x=data.matrix(gy[1])

dataxy=cbind(x,x^2,x^3,x^4,x^5)
xy1=data.frame(dataxy)
names(xy1)
colnames(xy1)[2:5]=c("x2","x3","x4","x5")
lm1.fit=lm(y~.,data=xy1)
lm2.fit=step(lm1.fit,trace=0,k=log(n))
summary(lm2.fit)
extractAIC(lm2.fit,k=log(n))

###########################################
运行后是

Call:
lm(formula = y ~ 1, data = xy1)
Residuals:
      Min        1Q    Median        3Q       Max
-15411207 -10936113  -4568171   3225395  66004190
Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept) 17708165    3088041   5.734 2.94e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 17190000 on 30 degrees of freedom
> extractAIC(lm2.fit,k=log(n))
[1]    1.000 1038.814

#########################
系数总是出不来


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-5-8 19:19:23
formula = y ~ 1
对常数进行回归,没有包含其他解释变量
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-5-8 20:40:12
程序本身没有问题,step返回的只是选出的最优模型(用BIC准则,你的最优模型就是无自变量的模型)。
若想看到详细的筛选过程,不要赋值也不要设置trace的值,直接step(lm.fit1, k = log(n))就好。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群