私はggplot2をよりよく理解しようとしています。下のタスクを実行する方法を探していますが、なぜ現在動作していないのかについての説明に感謝します。 これまでのところ、トピックに関する情報を見つけることができませんでした。ggplot2内の式の評価
私の両方の質問は、ggplot2内の式の使用についてです。
私は私のデータを変換せずにBの値でグループ化され、列Aの平均値をプロットしたいdata.frame
set.seed(1)
DF <- data.frame(A = 1:24, B = LETTERS[rep(1:4,6)], C = rep(1:3,8))
head(DF, n = 9)
# A B C
#1 1 A 1
#2 2 B 2
#3 3 C 3
#4 4 D 1
#5 5 A 2
#6 6 B 3
#7 7 C 1
#8 8 D 2
#9 9 A 3
を持っています。
ggplot(DF) + geom_point(aes(x = B , y = mean(A), group = B))
が、それはどのようにできた平均値(A)はB.
のすべての値に対して同じである以下の を返します。 私は次のような何かをすることが可能であることを期待します私はデータを変換せずにこれをプロットしていますか?
私は時々に対して自分自身を見つけるもう一つの障壁は、(facet_grid内の表現を入れしようとしている)またはfacet_wrap()
たとえば、私は新しい一時的にするために、モジュラー分裂を使いたいと言います列は後で面取りします。
DF$A %% 4
1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0
この列をデータフレームに貼り付けることができます。しかし、データを変換できないという制限を課しましょう。 私はこのような何かを行うことができることを期待しているでしょう:
ggplot(DF)+geom_point(aes(x = B, y = C)) + facet_grid({A %% 4}~.)
または
ggplot(DF)+geom_point(aes(x = B, y = C, group = A)) + facet_grid({A %% 4} ~ .)
あるいは
ggplot(DF)+geom_point(aes(x = B, y = C)) + facet_grid(formula({A %% 4} ~.))
をしかし、それらはすべて
Error in layout_base(data, rows, drop = drop) :
At least one layer must contain all variables used for facetting
エラーを返します誰でも見れますか? ggplot2がどのように動作し、なぜこれらの試みが失敗し、データを変換せずに希望の結果を得ることができるかを明らかにする方法で私に頼みますか?