Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将几条水平线添加到小的多重打印_R_Ggplot2_Regression - Fatal编程技术网

R 将几条水平线添加到小的多重打印

R 将几条水平线添加到小的多重打印,r,ggplot2,regression,R,Ggplot2,Regression,我有一个小的多重绘图,如下所示: 该图显示了两个模型的结果:cyl预测的mpg和两种变速箱类型的disp。0是第一款车型,适合自动变速器。1是第二款车型,适用于手动变速器。获取绘图的代码如下所示: library(tidyverse) library(dotwhisker) mod_mtcars='mpg~cyl+disp' np_mtcars=mtcars%>% group_by(am)%>% do(broom::tidy(lm(mod_mtcars, data= .

我有一个小的多重绘图,如下所示: 该图显示了两个模型的结果:cyl预测的mpg和两种变速箱类型的disp。0是第一款车型,适合自动变速器。1是第二款车型,适用于手动变速器。获取绘图的代码如下所示:

library(tidyverse)
library(dotwhisker)

mod_mtcars='mpg~cyl+disp'

np_mtcars=mtcars%>%
  group_by(am)%>%
  do(broom::tidy(lm(mod_mtcars, data= . )))%>%
  rename(model=am)

small_multiple(np_mtcars)
我想在每个子批次中添加一条水平线,该线对应于无组模型拟合的系数(完整的池模型:
cp=lm(mpg~cyl+disp,data=mtcars)
)。我知道如何添加一条通用的水平线,例如,截距为0但是,有人知道如何为每个子批次添加不同的行吗?

当我将
cp
cp_coeff=coef(cp)
)的系数矢量化并将其添加到绘图中时,我会在每个子绘图中一次获得所有系数。当我运行下面的循环时,我得到了每个子图上打印的向量的最后一个元素

for (i in 1:2){
  small_multiple(np_mtcars)+
    geom_hline(cp_coeff[i])}

您需要添加另一层,如下所示:

small_multiple(np_mtcars)  + 
  geom_hline(data = broom::tidy(cp)[-1,], aes(yintercept=estimate))
查看
broom::tidy(cp)
,了解其工作原理的解释(与
np_mtcars
相比),并考虑在图中已定义的面上如何绘制