R 对数据帧的每组进行线性拟合,检查异方差

R 对数据帧的每组进行线性拟合,检查异方差,r,ggplot2,lapply,lm,R,Ggplot2,Lapply,Lm,我有这样一个数据框: ORD exp type mu 1 Combi pH=7 exp_F mu 0.15637365 2 Combi pH=7 exp_F mu 0.12817901 3 Combi pH=7 exp_F mu 0.13392221 4 Combi pH=7 exp_F mu 0.09683254 5 Combi pH=7 exp_F mu 0.11249738 6 Combi pH=7 exp_F mu 0.

我有这样一个数据框:

ORD   exp type         mu
1   Combi pH=7 exp_F   mu 0.15637365
2   Combi pH=7 exp_F   mu 0.12817901
3   Combi pH=7 exp_F   mu 0.13392221
4   Combi pH=7 exp_F   mu 0.09683254
5   Combi pH=7 exp_F   mu 0.11249738
6   Combi pH=7 exp_F   mu 0.10878719
7   Combi pH=7 exp_F   mu 0.11019295
8   Combi pH=7 exp_F   mu 0.12100511
9   Combi pH=7 exp_F   mu 0.09803942
10  Combi pH=7 exp_F   mu 0.13842086
11  Combi pH=7 exp_F   mu 0.12778964
12     ORD0793 exp_F   mu 0.13910441
13     ORD0793 exp_F   mu 0.12603702
14     ORD0793 exp_F   mu 0.12670842
15     ORD0795 exp_F   mu 0.12982122
16     ORD0795 exp_F   mu 0.13648100
17     ORD0795 exp_F   mu 0.13593685
18     ORD0799 exp_F   mu 0.13906691
continues...
library(dplyr)
library(broom)

intsl <- df %>%
  group_by(exp, type) %>%
  do(fit = lm(mu ~ ORD, .)

intsl %>% augment(fit)
我想做一个线性调整,比如
lm(mu~ORD,data=df)
,但对于每一组类型和经验,我尝试了以下方法,但不起作用:

intsl <- df %>% group_by(exp,type) %>% 
  fortify(lm(mu~ORD)) %>% 
  select(exp,type, .fitted, .resid) 
intsl%分组依据(exp,type)%>%
防御(lm(mu~ORD))%>%
选择(exp、type、.fitted、.resid)
我需要使用fortify,因为我需要.fitted和.resid字段,以便稍后使用ggplot中包含的
facet\u grid
按类型和exp对绘图进行多点排序,以检查每个拟合模型中是否存在异方差。。就像但在一个有机的多点:


有什么建议吗
ggplot2
包中的
fortify()
文档表示,该方法将被弃用,应改用
broom
包。根据这些信息,您应该这样做:

ORD   exp type         mu
1   Combi pH=7 exp_F   mu 0.15637365
2   Combi pH=7 exp_F   mu 0.12817901
3   Combi pH=7 exp_F   mu 0.13392221
4   Combi pH=7 exp_F   mu 0.09683254
5   Combi pH=7 exp_F   mu 0.11249738
6   Combi pH=7 exp_F   mu 0.10878719
7   Combi pH=7 exp_F   mu 0.11019295
8   Combi pH=7 exp_F   mu 0.12100511
9   Combi pH=7 exp_F   mu 0.09803942
10  Combi pH=7 exp_F   mu 0.13842086
11  Combi pH=7 exp_F   mu 0.12778964
12     ORD0793 exp_F   mu 0.13910441
13     ORD0793 exp_F   mu 0.12603702
14     ORD0793 exp_F   mu 0.12670842
15     ORD0795 exp_F   mu 0.12982122
16     ORD0795 exp_F   mu 0.13648100
17     ORD0795 exp_F   mu 0.13593685
18     ORD0799 exp_F   mu 0.13906691
continues...
library(dplyr)
library(broom)

intsl <- df %>%
  group_by(exp, type) %>%
  do(fit = lm(mu ~ ORD, .)

intsl %>% augment(fit)
库(dplyr)
图书馆(扫帚)
intsl%
分组依据(经验,类型)%>%
do(fit=lm(mu~ORD,)
intsl%>%增大(适合)

这将为您提供一个数据框架,其中包含用于对回归进行分组的变量、回归变量以及每个观测值的额外输出,如
.fitted
.resid
,因此您可以直接使用
ggplot
绘制它们。

我不确定它是否能直接回答您的问题(因此我没有给出答案)但我发现,
modeler
软件包使许多回归任务变得非常简单。除了下面的答案建议
broom::augment
,听起来你只需要将
+facet\u grid(type~exp)
添加到你的ggplot调用中。