web-dev-qa-db-ja.com

因子別のggplotでの複数のプロットの生成

列の1つに基づいて複数のプロットを生成するデータセットがあります。つまり、ggplotを使用して、その因子のさまざまな種類ごとに個別のプロットを作成できるようにしたいと考えています。

簡単なサンプルデータを次に示します。

Variety = as.factor(c("a","b","a","b","a","b","a","b","a","b")
Var1 = runif(10)
Var2 = runif(10)
mydata = as.data.frame(cbind(Variety,Var1,Var2))

Var1からVar2への2つの個別のプロットを生成します。1つはVariety Aで、もう1つはVariety Bで、できれば単一のコマンドで生成しますが、テーブルを分割せずにそれを行う方法がある場合も問題ありません。 。

13
riders994

facet_gridまたはfacet_wrapを使用して、要素ごとにグラフを分割できます。

ggplot(mydata, aes(Var1, Var2)) + geom_point() + facet_grid(~ Variety)

または、別のプロットでは、単純なループを使用します

for (var in unique(mydata$Variety)) {
    dev.new()
    print( ggplot(mydata[mydata$Variety==var,], aes(Var1, Var2)) + geom_point() )
}
23
pickle rick