【发布时间】:2019-07-16 14:06:03
【问题描述】:
我正在处理一个包含野生动物重量和大小的大型数据集,我按日期(第 1 季、第 2 季等)将其分成更小的部分。我编写了一个函数来在 ggplot2 中为每只动物创建图表,但有些动物被捕获的频率太低,以至于它们的数据基本上没有意义。
如何更改此功能以仅绘制在给定子集中出现超过 3 或 4 次的动物?
这是我拥有的功能:
individual_graph <- function(animal_number){
a_plot <- ggplot(data=animal_number, aes(x=Date, y=Weight)) +
geom_point() +
theme_bw() +
ggtitle(animal_number$Number)+
NULL
return(a_plot)
}
这是我用来生成图表的 for 循环:
graph_list <- list(NULL)
for(animal_id in (unique(season_1$Number))){
a <- individual_graph(season_1[Number==animal_id])
graph_list <- c(graph_list, list(a))
}
plot_list
【问题讨论】:
-
欢迎来到 SO!也许有比循环更好的方法,但是如果没有任何类型的数据就很难找到。你能举一个有用的例子吗?
-
filterfromdplyr应该可以带你到那里。
标签: r function for-loop ggplot2