※ 引述《ericchin0404 (凛魂)》之铭言:
: [问题类型]:
: 程式咨询
: [软件熟悉度]:
: 新手
: [问题叙述]:
: 就是我现在有一个反应变量向量Y
: 跟一个解释变量矩阵X,每一行代表一个变量
: 然后我对他做回归
: m=lm(Y~X)
: 然后我想用stepwise选变量,所以写了
: step(m)
: 不过做出来的结果就是原来的模型,他根本没有挑选
: 但如果我把模型写成
: m=lm(Y~X[,1]+X[,2]+X[,3]+X[,4])
: 他就可以选
: 所以我的问题是,如果我要做逐步回归,可是回归模型想用矩阵表示,那程式应该怎么
写
: ?
: 另外想问若想把模型改成有二次项跟交互作用项,要怎么写?
: 麻烦各位,谢谢
我还是遇到一些问题
我的回归模型尝试了以下两种写法
1.
X2 = cbind(model.matrix(~.^2,data = as.data.frame(X[ind2,]))[,-1],X[ind2,]^2)
m2 = lm(Y[ind2]~-1+sqrt(size[a,k])[ind2]+.,as.data.frame(X2))
2.
m2 = lm(Y[ind2]~-1+sqrt(size[a,k])[ind2]+(.)^2
+I(X[ind2,1]^2)+I(X[ind2,2]^2)+I(X[ind2,3]^2)
+I(X[ind2,4]^2)+I(X[ind2,5]^2)+I(X[ind2,6]^2)
,as.data.frame(X[ind2,]))
以上两种回归模型都是无截距项,且包含交互作用项和平方项
然后使用step(m2)这个指令进行选模
但是为什么选出来的变量会不相同
理论上模型相同,选模的指令也相同,只是模型写法不同,选出来的变量应该要相同才对
,
到底是哪边出了差错???
Btw, X本身是一个6行的矩阵,也就是它是一个有六个变量的矩阵