答えはとてもシンプルですが、現時点では私はそれを避けています。私はstat_summary()
を使って折れ線グラフを作っていきたいと思います。別の時点を表す各x軸ティックで、各グループ(実験条件を表す)ごとに異なる形をしています。ここでstat_summaryを使った折れ線グラフ
は、データが
set.seed(124)
ID <- rep(1:12, times = 3)
Group <- rep(c("A", "B", "C"), times = 12)
score <- rnorm(36, 25, 3)
session <- rep(c("s1","s2", "s3"), each = 12)
df <- data.frame(ID, Group, session, score)
今私は、各時点のための手段のテーブルを作ることによってそこに着くことができます。そのようです。
gMeans <- aggregate(score ~ session + Group, data = df, mean)
そしてそれをグラフ化します。
pMeans <- ggplot(data = gMeans, aes(x = session, y = score, group = Group, shape = Group)) +
geom_line(aes(linetype = Group), size = 1) +
geom_point(size = 5, fill = "white") +
scale_color_hue(name = "Group", l = 30) +
scale_shape_manual(name = "Group", values = c(23,22, 21)) +
scale_linetype_discrete(name = "Group") +
theme_bw()
pMeans
しかし、私はstat_summary()
を使用することによって手段のテーブルを作成することのステップをスキップできるようにしたいと思います。私は、さまざまな線種で同様のグラフを得ることができますが、私はどのように各グループの各軸の目盛りに異なる図形を取得することができません。私はgeom_point()
とgeom_line()
の多くの異なる順列を以下のようにしようとしましたが、役に立たなかった。上記のコードから得られた出力のような出力を得るには、以下のコードをどのように変更しますか?
pline <- ggplot(df, aes(x=session, y=score, group = Group, shape = Group)) +
stat_summary(fun.y="mean", geom="line", size=1.1, aes(linetype=Group, shape = Group)) +
scale_shape_manual(values=c(1:3))
pline
簡単な方法は、あなたの_pointと_line呼び出しに機能を追加することです:+ 'ggplot(データ= dfを、AES(X =セッション、Y =スコア、グループ=グループ、形状=グループ)) geom_line(aes(linetype = Group)、size = 1、stat = "summary"、fun.y = mean)+ geom_point(size = 5、fill = "white"、stat = "summary"、fun.y = mean) ' – user20650
tip @ user20650ありがとうございます。これは役に立ちました。シェイプを追加しましたが、 'geom_point'レイヤーの' fill = white'呼び出しにもかかわらず、シェイプは黒い塗りつぶしで出てきました。なぜこれが起こっているのでしょうか? – llewmills
あなたの例のように、scale_shapeを追加する必要があります( 'scale_shape_manual(name =" Group "、values = c(23,22,21))) – user20650