2017-12-13 9 views
0

私は次のように見えること(dtf.long)のデータを持っている:Rのggplot2で2x2x2デザインの回帰直線をプロットする方法は?

nutrition fertilizer season seedlingdensity plandensity fitted 
    nitrogen none  wet  5    19  6 
    nitrogen none  dry  5    19  8 
    nitrogen phos  wet  4    23  16 
    nitrogen phos  dry  5    19  10 
    iron  none  wet  5    29  21 
    iron  none  dry  5    19  14 
    iron  phos  wet  4    23  12 
    iron  phos  dry  5    20  14 
    .... 
    ... 

16回の反復の合計があります。私はy軸にlog(苗立ち密度)を、y軸にlog(plandensity)を、食品に面した回帰をプロットする必要があります。 2つのタイプの肥料は、1つの色と異なるpchの季節に入ることができます。

私はコードを書くことを試みたが、私はまだシーズン

のためのPCHをコーディングする方法がわからない回帰からモデルの適合が列に格納されているが

summary_dat = dtf.long %>% 
       group_by(nutrition, fertilizer, season) %>% 
       summarise(mean_predict=mean(fitted), 
         sd_predict = sd(fitted), 
         n_predict = n()) %>% 

    mutate(se_predict = sd_predict/sqrt(n_predict), 
     lower_ci = mean_predict - qt(1 - (0.05/2), n_predict - 1) * se_predict, 
     upper_ci = mean_predict + qt(1 - (0.05/2), n_predict - 1) * se_predict) 

ggplot() + 
    geom_point(data=dtf.long, aes(x=log(plantdensity), y=log(seedlingdensity), group=fertilizer, color = fertilizer), position=position_dodge(width=0.5)) + 
    geom_errorbar(data=summary_dat, aes(x=log(plantdensity), ymax=upper_ci, ymin=lower_ci, group=fertilizer, color=fertilizer), position=position_dodge(width=0.5), width=0.2) + 
    geom_point(data=summary_dat, aes(log(plantdensity), y=mean_predict, group=fertilizer, color=fertilizer), size=3, position=position_dodge(width=0.5)) + 
    facet_grid(nutrition ~ .) + xlab("log(Plant Density") + ylab("log(Seedling Density)") 

答えて

0

を装着しました引数shapegeom_pointへの呼び出しに追加し、data.frameの変数seasonの値にマップすることができます。

ggplot() + 
geom_point(data=dtf.long, 
    aes(x=log(plantdensity), 
     y=log(seedlingdensity), 
     group=fertilizer, 
     color = fertilizer, 
     shape = season), 
    position=position_dodge(width=0.5)) + 
geom_errorbar(data=summary_dat, 
    aes(x=log(plantdensity), 
     ymax=upper_ci, 
     ymin=lower_ci), 
    position=position_dodge(width=0.5), width=0.2) + 
facet_grid(nutrition ~ .) + 
xlab("log(Plant Density") + 
ylab("log(Seedling Density)") 

あなたはthis page on the ggplot site

でさらに例を見つけることができます
関連する問題