设置最小值和最大值以绘制回归预测值

时间:2019-03-26 08:14:33

标签: r ggplot2

我进行了如下回归分析:

fit <- lmer(support ~ income + (1 | country), data = df)

使用summary(df)时,向我显示,对于收入,最小值为-2.4,最大值为2.6。

我想绘制预测值。我尝试使用以下代码:

library(ggeffects)
library(ggplot2)
p1 <- ggpredict(reg1, terms = "income")
ggplot(p1, aes(x, predicted)) + geom_line() + geom_ribbon(aes(ymin = conf.low, ymax = conf.high), alpha = 0.1)

但是,绘图从-3变为3。如何设置绘图的最小值和最大值?我尝试使用min和max,但是没有用

1 个答案:

答案 0 :(得分:0)

默认情况下,对于连续变量,为x轴选择一个“漂亮”范围。这可能包括未出现在数据中的值。但是使用[all]可能会起作用,请参见此示例,在第二种情况下,预测值的范围是0.1到2.5,而不是0到2.6。

library(ggeffects)
data(iris)

m <- lm(Sepal.Length ~ Petal.Width, data = iris)

ggpredict(m, "Petal.Width")
#> 
#> # Predicted values of Sepal.Length
#> # x = Petal.Width
#> 
#>    x predicted std.error conf.low conf.high
#>  0.0     4.778     0.073    4.635     4.921
#>  0.4     5.133     0.057    5.022     5.244
#>  0.6     5.311     0.050    5.213     5.408
#>  1.0     5.666     0.040    5.587     5.745
#>  1.4     6.022     0.040    5.943     6.101
#>  1.6     6.199     0.044    6.113     6.286
#>  2.0     6.555     0.057    6.444     6.666
#>  2.6     7.088     0.082    6.927     7.248

ggpredict(m, "Petal.Width [all]")
#> 
#> # Predicted values of Sepal.Length
#> # x = Petal.Width
#> 
#>    x predicted std.error conf.low conf.high
#>  0.1     4.866     0.069    4.732     5.001
#>  0.4     5.133     0.057    5.022     5.244
#>  0.6     5.311     0.050    5.213     5.408
#>  1.2     5.844     0.039    5.767     5.920
#>  1.5     6.110     0.042    6.028     6.193
#>  1.7     6.288     0.047    6.197     6.380
#>  2.0     6.555     0.057    6.444     6.666
#>  2.5     6.999     0.077    6.847     7.151

reprex package(v0.2.1)于2019-03-29创建

This vignette也可能会有所帮助。