你能帮我解决一下这个问题:
我有一个如下数据库:
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
我想在牛奶与年龄之间做一个情节,所以我使用功能图(Milk~Ege,data = mydata) 我的问题是如何通过仅使用一个函数为每个人制作相同的情节(Milk~Age)。因为我有大约200只动物,如果我必须运行200次以产生200条曲线。
由于 PHUONG
答案 0 :(得分:2)
一种方法是使用库ggplot2
,然后为每只动物制作单独的方面。由于你有很多动物,你可以在ncol=
中更改nrow=
或facet_wrap()
以获得更好的视野。
library(ggplot2)
ggplot(df,aes(x=Age,y=Milk))+geom_point()+facet_wrap(~Animal)
答案 1 :(得分: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()
}))
答案 2 :(得分:0)
我想说使用ggplot2包中的ggplot
ggplot(df,aes(x=Age,y=Milk, color=Animal))+geom_point()
edit1:实际上这会让200只动物失去清晰度。您是希望所有这些数据点都放在一个图表中还是分布在200个图表中?如果是后者,那么我同意Didzis