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")
我有个小问题。我在 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")