2022年11月29日火曜日

Rで2要因のグラフをプロットする方法

  2要因のデータからエクセルにて標準偏差や標準誤差を加えた折れ線グラフを作成したとき、どうも2要因のデータ同士が重なって見えずらくなる現象が起きてしまっていました。










 エクセルの手法で改善できるかもしれませんが、Rで簡単にプロットできることがわかりました。










 下記の表のようなデータ(でたらめに作られたもの)を使うとします。










 このデータファイル名をinfecとし、csvファイルに保存します。

















 実際のRで作成してみます。











dat <- read.csv("infec.csv") #データ読み込み








#プロットと平均値や標準偏差を求めるためこの2つを読み込む 
 なければinstall.packagesで対応

library(ggplot2)
library(dplyr)
library(cowplot)
library( Hmisc )










pd = position_dodge( width = 0.15 )

ggplot( infec, aes( x = prepos, y = infection, color = intervention, group = intervention ) ) +

  stat_summary( fun.y = "mean", geom = "line" )+

  stat_summary( fun.y = "mean", geom = "line", size = 1.0, position = pd ) +

  stat_summary( fun.data = mean_cl_normal, geom = "errorbar",

                alpha = 0.9, size = 1.0, width = 0.2, position = pd ) + 

  stat_summary( fun.y = "mean", geom = "point", size = 3.5, position = pd )+

  scale_y_continuous( limits = c( 20, 70 ), breaks =seq(20,70,5), expand = c( 0, 0 ) ) +

  theme_cowplot( 15 ) +

  scale_colour_manual( values = c( "#5B84B1FF", "#FC766AFF" ) ) +

  xlab( "Differences in infection status by town" ) +

  ylab( "Infection" )+ 

  scale_x_discrete(limit=c('before', 'after'))






 グラフの出来上がりです。





 このように、2要因のデータ間で隙間があるので、標準偏差が描かれてもはっきり違いが判ります。











 現時点で、素人の私にとってこれが限界ですが、もう少しグラフの調整ができるように引き続き調べていきたいと思います。


0 件のコメント:

コメントを投稿