1

追加の「geoms」を初期データのサブセットにのみ適用したい。このサブセットを facets=~ によって作成された各ユニットから取得したいと思います。

データまたはプロットされた変数のサブレットを使用した私の試行では、'facets=~' によって作成されたユニットのサブレットではなく、2 つの異なる方法 (明らかにデータの並べ替えに依存) で、データ セット全体のサブレットにつながります。 )。

この問題は、「ファセット」を使用しているときに「geom」で発生します

library(ggplot2)

test.data<-data.frame(factor=rep(c("small", "big"), each=9),
                              x=c(c(1,2,3,3,3,2,1,1,1), 2*c(1,2,3,3,3,2,1,1,1)),
                              y=c(c(1,1,1,2,3,3,3,2,1), 2*c(1,1,1,2,3,3,3,2,1)))


factor x y
1   small 1 1
2   small 2 1
3   small 3 1
4   small 3 2
5   small 3 3
6   small 2 3
7   small 1 3
8   small 1 2
9   small 1 1
10    big 2 2
11    big 4 2
12    big 6 2
13    big 6 4
14    big 6 6
15    big 4 6
16    big 2 6
17    big 2 4
18    big 2 2


qplot(data=test.data,
      x=x,
      y=y,
      geom="polygon",
      facets=~factor)+
      geom_polygon(data=test.data[c(2,3,4,5,6,2),],
                   aes(x=x,
                       y=y),
                   fill=I("red"))

ここに画像の説明を入力

qplot(data=test.data,
      x=x,
      y=y,
      geom="polygon",
      facets=~factor)+
        geom_polygon(aes(x=x[c(2,3,4,5,6,2)],
                         y=y[c(2,3,4,5,6,2)]),
                     fill=I("red"))

ここに画像の説明を入力

4

1 に答える 1

2

答えは、最初のステップでデータをサブセット化することです。

library(ggplot2)
library(plyr)

test.data<-data.frame(factor=rep(c("small", "big"), each=9),
                      x=c(c(1,2,3,3,3,2,1,1,1), 2*c(1,2,3,3,3,2,1,1,1)),
                      y=c(c(1,1,1,2,3,3,3,2,1), 2*c(1,1,1,2,3,3,3,2,1)))

subset.test<-ddply(.data=test.data,
                   .variables="factor",
                   function(data){
                     data[c(2,3,4,5,6,2),]})

qplot(data=test.data,
      x=x,
      y=y,
      geom="polygon",
      facets=~factor)+
        geom_polygon(data=subset.test,
                     fill=I("red"))

ここに画像の説明を入力

于 2012-03-17T04:14:54.573 に答える