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调用中。