在这种情况下,如何理解rep()的用法?

时间:2020-02-18 22:13:43

标签: r data-visualization data-analysis rep

有一个数据集randomdat包含299个obs,两个分类变量,var 9包含诸如With XYZWithout XYZ的值,var8包含诸如{{ 1}} / Group A / Group BGroup 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)))

enter image description here

现在问题来了,在这种情况下如何理解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)中的所有值替换为var9With XYZ吗? Without XYZvar1中的m7_predictwith是相同的,它们的绘图线应该只是同一条线吗?在这种情况下,对于m7_predictwout的语法用法非常困惑。

1 个答案:

答案 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,创建平行线。