全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
369 9
2013-10-29
悬赏 100 个论坛币 已解决
这是我写的一个regression model(mod4.lm),下面两个是同一个模型的不同种写法,因为原模型中有自变量没有意义。  
housing.value <- read.table("http://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data", header=F)
colnames(housing.value) <- c("CRIM", "ZN", "INDUS", "CHAS", "NOX", "RM", "AGE", "DIS", "RAD", "TAX", "PTRAIO", "B", "LSTAT", "MEDV")
colnames(housing.value)

mod4.lm <- lm(MEDV~CRIM + ZN + CHAS + NOX + RM + DIS + PTRAIO + B + LSTAT, data=housing.value)
mod4.lm <- lm(MEDV~.-TAX-RAD-AGE-INDUS, data=housing.value)

我想把里面加入pairwise interaction factors 为了方便,重新定义了自变量。 但是,为什么我写的for loop 不对啊?

x1 <- housing.value$CRIM
x2 <- housing.value$ZN
x3 <- housing.value$CHAS
x4 <- housing.value$NOX
x5 <- housing.value$RM
x6 <- housing.value$DIS
x7 <- housing.value$PTRAIO
x8 <- housing.value$B
x9 <- housing.value$LSTAT

for(w in 1:9)
  for(v in 1:9)
{
   {
    a <- sum(x[w]*x[v])  #这是为了把那些成对的interaction factors 加和。
   }
}
   mod5.lm <- lm(MEDV~.-TAX-RAD-AGE-INDUS + a, data=housing.value)

特此悬赏解答,谢谢关注。

最佳答案

ntsean 查看完整内容

用 (x1+x2….)^2 就可以得到up to 2的interaction 如果只需要interaction (x1+x2….)^2 - x1 - x2 -...
二维码

扫码加我 拉你入群

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

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

全部回复
2013-10-29 13:08:01
用 (x1+x2….)^2 就可以得到up to 2的interaction

如果只需要interaction

(x1+x2….)^2 - x1 - x2 -...
二维码

扫码加我 拉你入群

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

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

2013-10-29 13:49:42
for(w in 1:9)
  for(v in 1:9)
{
   {
    a <- sum(x[w]*x[v])  #这是为了把那些成对的interaction factors 加和。
    mod5.lm <- lm(MEDV~.-TAX-RAD-AGE-INDUS + a, data=housing.value)
   }
}
不是太清楚你的a是否每对interaction factors后就进行一次回归分析,如果不是而是所有interaction factors和之后进行回归分析应该把回归方程放在所有循环在外,这是我的一点理解,不知道对不对
for(w in 1:9)
  for(v in 1:9)
{
   {
    a <- sum(x[w]*x[v])  #这是为了把那些成对的interaction factors 加和。
      }
}
mod5.lm <- lm(MEDV~.-TAX-RAD-AGE-INDUS + a, data=housing.value)
二维码

扫码加我 拉你入群

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

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

2013-10-29 13:55:51
统计R浪人 发表于 2013-10-29 13:49
for(w in 1:9)
  for(v in 1:9)
{
Error: object 'x' not found 这个是需要解决的, 然后在算那些成对的interaction factors 的和。
二维码

扫码加我 拉你入群

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

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

2013-10-29 14:56:44
你这个a是 通过    两两相互乘积后 组建个矩阵, 然后 矩阵以行sum,变为一个向量,是吗?
如果这么的话,看看有用不?
复制代码
二维码

扫码加我 拉你入群

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

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

2013-10-29 15:05:13
复制代码
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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