R - ggplot最大刻度按运行数Netlogo分组

时间:2015-01-27 13:50:18

标签: r netlogo

我有一个小问题。我在R数据帧中有Netlogo的输出。 现在我想在Runnumber上绘制每个Run的最大滴答数。 所以我有一个名为' tick'还有一个名为“runNumber'”的人。而且我想绘制最多的' tick'在不同的runNumbers。

我希望你能帮助我,

感谢。

1 个答案:

答案 0 :(得分:3)

这完全是如何在R中处理您的数据的问题,因为它为您提供了无数的方法来实现您的要求,我将向您展示一种可能的方法:

要处理的一些示例数据:

df <- data.frame(tick = c(1:10, 1:35, 1:17),
                 runNumber = c(rep(1, 10), rep(2, 35), rep(3, 17)))

您可以看到三次运行中每次运行的最大滴答数分别为10,35和17。 为了绘制这些图,您需要操纵您的数据(我建议您在其vignettes中阅读dplyr):

library(dplyr)

df.summary <- df %>%
  group_by(runNumber) %>%
  summarise(max_tick = max(tick))

df.summary
# Source: local data frame [3 x 2]
# 
#   runNumber max_tick
# 1         1       10
# 2         2       35
# 3         3       17

dplyr代码相当不言自明。您将每个运行视为一个单独的组,并仅提取tick列的最大值。

要想象这些数据,您只需使用:

library(ggplot2)

ggplot(df.summary, aes(x = runNumber, y = max_tick)) +
  geom_bar(stat = "identity")