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

R - ggplot maximum tick grouped by runnumber Netlogo

我有个小问题。我在 R 数据框中有 Netlogo 的输出。 现在我想在 运行 数字上绘制每个 运行 的最大刻度数。 所以我有一个名为 'tick' 的专栏和一个名为 'runNumber' 的专栏。我想在不同的 runNumbers 上绘制 'tick' 的最大值。

希望你能帮帮我,

谢谢。

这完全是关于如何在 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")