作者sandows (仙道群)
看板Statistics
标题Re: [问题][R]关於参数输入的格式
时间Mon Apr 7 17:01:32 2008
※ 引述《horby (horby)》之铭言:
: 我最主要要问的问题是,当我在原有的回归模型中要加入一个新的解释变数
: 比如:D是一个data.frame, 其中 names(D)= "y" "x1" "x2" "x3" ... "x20"
: a=lm(y~x1,data=D)
: 则我们要加入一个新的解释变数 x5 的话,以 update 来说可以写成
: update(a, ~ . + x5)
: 但是如果我想改成下面这样的输入格式,请问一下大家要怎麽处理
: update(a, ~ . + b)
: 其中 b="x5"
: 注:
: 这是一个关於变数选择的程式,有点像是 forward selection。将对 y 解释能力最高的
: x 依序加入回归模型之中。 在一些运算之後,找出某一个解释变数(在上例中,就是
: column name 中那个叫做 "x5" 的变数)并将他的名字暂存在 b 中。 而 b 会随着
: 新加入的解释变数,而变化。 比如 "x1", "x1" "x3", "x1" "x3" "x7" ....
: 请对 s-plus 或是 R 熟棯的朋友 给予帮助。
可以直接用
D[,which(names(D)=="x5")]
假设你每次找出来最好的变数暂存在 temp2 里
temp1 <- numeric(20)
temp2 <- [x1,x3,x7....]
for (i in 1:20){
temp1[i] <- which(names(D)==temp2[i])
update(a, ~ . + D[,temp1[1:i]])
}
我想你还是得自己改一下以符合你的需要
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 68.42.72.37
1F:推 horby:多谢!! 04/08 03:01