2017-08-15 26 views
4

をチェックし、データフレームのグループごとに線形フィットを行う:私は線形をしたいと思っ私はこのようなデータフレーム持っている不均一

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... 

するlm(mu~ORD, data=df)ようですが、種類やEXPのグループごとに調整。私は以下のが、その動作していない試してみました..:

intsl <- df %>% group_by(exp,type) %>% 
    fortify(lm(mu~ORD)) %>% 
    select(exp,type, .fitted, .resid) 

私は後でggplotに含まれるfacet_gridを使用してタイプし、EXPでプロットをソートmultiplotのを行うために.fittedと.residフィールドを必要とするので、私は強化使用する必要があります各適合モデルに異方性があるかどうかを調べるために、オーグナイズドマルチプロットのように: enter image description here

何か提案がありますか? :<

+0

あなたの問題に直接答えるかどうかはわかりません(なぜ私は答えを投稿していないのですか)。しかし、 'modelr'パッケージは多くの回帰タスクを非常に簡単にすることがわかりました。 –

+0

'broom :: augment'を示唆する以下の答えに加えて、あなたのggplot呼び出しに' + facet_grid(type〜exp) 'を追加するだけでよいように思えます。 – Brian

答えて

1

ggplot2パッケージのfortify()のドキュメントには、このメソッドは廃止予定であり、broomパッケージを代わりに使用する必要があることが示されています。情報hereに基づいて、あなたはこのような何かを行う必要があります。

library(dplyr) 
library(broom) 

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

intsl %>% augment(fit) 

これは、あなたがグループにのようなあなたの回帰、回帰変数、および各観察のための余分な出力を使用する変数を持つデータフレームを与える必要があります.fitted.residですので、ggplotで直接プロットすることができます。