2

この問題を解決するのを手伝ってくれませんか:

以下のようなデータベースがあります。

Animal  Milk    Age
1   11.96703591 1
1   13.41236333 2
1   14.85769075 3
1   16.30301817 4
2   17.74834559 1
2   19.08465881 2
2   20.42097204 3
2   14.66094662 4
2   14.70197368 5
3   14.74300075 1
3   14.78402781 2
3   14.82505488 3
3   14.86608194 4
3   14.90710901 5

牛乳と年齢の間のプロットを作成したいので、関数 plot(Milk~Age, data=mydata) を使用します 私の質問は、関数を 1 つだけ使用して、各個人に対して同じプロット (Milk~Age) を作成するにはどうすればよいかということです。私は約 200 匹の動物を飼っているので、200 回実行して 200 個の曲線を作成する必要があるとします。

ありがとうフォン

4

3 に答える 3

2

1 つのアプローチは、ライブラリを使用してからggplot2、動物ごとに個別のファセットを作成することです。たくさんの動物がいるので、変更しncol=たりnrow=、見やすくすることができfacet_wrap()ます。

library(ggplot2)
ggplot(df,aes(x=Age,y=Milk))+geom_point()+facet_wrap(~Animal)

ここに画像の説明を入力

于 2013-05-17T14:38:48.133 に答える
1

次のコードは、一意の値と同じ数のプロットを作成し、Animalそれらを作業ディレクトリ内の異なる pdf ファイルに保存する必要があります。

invisible(by(df, df$Animal, function(tmpdf) {
    pdf(paste0("plot",tmpdf$Animal[1],".pdf"))
    plot(Milk~Age, data=tmpdf, main=tmpdf$Animal[1])
    dev.off()
}))
于 2013-05-17T14:39:01.680 に答える
0

ggplot2 パッケージの ggplot を使用すると思います

ggplot(df,aes(x=Age,y=Milk, color=Animal))+geom_point() 

edit1: 実際、これは 200 匹の動物で明確さを失います。このすべてのデータ ポイントを 1 つのグラフに表示しますか、それとも 200 のグラフに分散させますか? 後者の場合、私はディジスに同意します

于 2013-05-17T14:43:13.943 に答える