R中x ^ 2和I(x ^ 2)之间有什么区别?

时间:2014-11-20 22:02:55

标签: r sas glm

这两个模型在R中有什么区别?

model1 <- glm(y~ x + x^2, family=binomial(link=logit), weights=numbers))
model2 <- glm(y~ x + I(x^2),family=binomial(link=logit), weights=numbers))

SAS中I(x^2)的等价是什么?

1 个答案:

答案 0 :(得分:2)

I()功能的意思是&#39; ,而^n(功能为n)运算符意味着&#39;包括这些变量和所有相互作用的交互&#39;

这意味着:

I(X^2)字面意思是Y对X平方和

回归

X^2表示包含X和X的双向交互,但因为它只有一个变量,所以没有交互,所以它只返回自己,即X.注意在你的公式中你说X + X^2哪个转换为X + X,其中公式语法仅考虑一次。即将移除两个X中的一个。

演示:

Y <- runif(100)
X2 <- runif(100)
df <- data.frame(Y,X1,X2)

b <- lm( Y ~ X2 + X2^2 + X2,data=df)

> b

Call:
lm(formula = Y ~ X2 + X2^2 + X2, data = df)

Coefficients:
(Intercept)           X2  
    0.48470      0.05098  


a <- lm( Y ~ X2 + I(X2^2),data=df)

> a

Call:
lm(formula = Y ~ X2 + I(X2^2), data = df)

Coefficients:
(Intercept)           X2      I(X2^2)  
    0.47545      0.11339     -0.06682  

希望它有所帮助!