这两个模型在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)
的等价是什么?
答案 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
希望它有所帮助!