【发布时间】:2019-07-01 00:06:24
【问题描述】:
我的数据可用here,如下所示:
sq_id total_forays_day age_at_loc date.x
<chr> <dbl> <dbl> <chr>
22897 1 41 17-06-18
22897 1 42 17-06-19
22897 2 43 17-06-20
22897 2 43 17-06-20
22897 1 44 17-06-21
22897 1 45 17-06-22
我想使用循环为 89 个唯一的 sq_id 创建一个 plot(total_forays_day~age_at_loc)。
我可以通过运行以下命令获得 sq_id 的独特图:
plot(total_forays_day~age_at_loc, data=(data%>%filter(sq_id=="22641")), type="l")
但这不是一种有效的方法,因为我需要可视化 89 个图。
我试过了:
par(mfrow=c(10,10))
for(i in 1:1) { #loop over loop.vector
plot(total_forays_day~age_at_loc[,i], data=data)
}
这不起作用。我收到以下错误消息:
age_at_loc[, i] 错误:维数不正确
我应该如何修复我的for 循环代码?任何建议,将不胜感激!
【问题讨论】:
-
你打算用这89个地块做什么?您可以使用
pdf("quux.pdf")/plot(...)/dev.off()或(甚至更好)rmarkdown 文档将它们全部呈现为 pdf。 -
@r2evans 我只需要可视化图表,看看我的数据随着时间的推移是否有任何奇怪的趋势
-
那么
for循环有什么问题?您可以使用readline("next plot ...")(按回车键继续)或locator(1)(单击图像)暂停循环中的每个图像。我不知道如何执行“或 ”,有时会很方便。 -
@r2evans 我同意;
for循环正是我应该做的。问题是,我编写循环的方式给了我一条错误消息。Error in age_at_loc[, i] : incorrect number of dimensions -
如果
age_at_loc是一列,则不能在其索引中使用逗号(它只是一个向量)。试试total_forays_day~age_at_loc[i]。