有一个数据集randomdat
包含299个obs,两个分类变量,var 9
包含诸如With XYZ
和Without XYZ
的值,var8
包含诸如{{ 1}} / Group A
/ Group B
,Group C
是一个数字变量。
然后有一个模型:
var1
检查m7 <- lm(var3~var1+I(var1^2)+I(var1^3)+var9, data=randomdat)
,它显示summary(m7)
总是比Without XYZ
小34451.4。
With XYZ
然后有两个预测模型:
> summary(m7)
Call:
lm(formula = var3 ~ var1 + I(var1^2) + I(var1^3) + var9, data = randomdat)
Residuals:
Min 1Q Median 3Q Max
-391506 -75127 4799 77175 323856
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -162934.42035 18571.30251 -8.773 <0.0000000000000002 ***
var1 10927.87454 741.36511 14.740 <0.0000000000000002 ***
I(var1^2) -180.82979 10.44006 -17.321 <0.0000000000000002 ***
I(var1^3) 0.99499 0.04223 23.562 <0.0000000000000002 ***
var9Without XYZ -34451.43378 14570.55030 -2.364 0.0187 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 117500 on 294 degrees of freedom
Multiple R-squared: 0.8642, Adjusted R-squared: 0.8624
F-statistic: 467.9 on 4 and 294 DF, p-value: < 0.00000000000000022
如果绘制它们,您将看到两条线不重叠。
m7_predictwith <- predict(m7,list(var1=randomdat$var1, var9 = rep("With XYZ",299)))
m7_predictwout <- predict(m7,list(var1=randomdat$var1, var9 = rep("Without XYZ",299)))
现在问题来了,在这种情况下如何理解ggplot(randomdat, aes(x = var1, y = var3)) +
geom_point(aes(colour = var8, shape = var8)) +
geom_line(aes(x=randomdat$var1,y=m7_predictwith), color = 'red', lty = 2) +
geom_line(aes(x=randomdat$var1,y=m7_predictwout), color = 'black', lty = 3)
或var9 = rep("With XYZ",299)
?它们不是意味着将var9 = rep("Without XYZ",299)
中的所有值替换为var9
或With XYZ
吗? Without XYZ
和var1
中的m7_predictwith
是相同的,它们的绘图线应该只是同一条线吗?在这种情况下,对于m7_predictwout
的语法用法非常困惑。
答案 0 :(得分:1)
rep()
重复值:
> rep("With XYZ", 5)
[1] "With XYZ" "With XYZ" "With XYZ" "With XYZ" "With XYZ"
此处用于创建包含以下内容的数据集:
var1
的观测值var9
。 var9
是一个因子变量,在回归分析中,其估计系数为-34451.43378。因此,如果您预测var9
的{{1}}的一行固定值,然后预测"With XYZ"
的另一行固定值,则"Without XYZ"
线将下移恒定值34451,创建平行线。