gpt4 book ai didi

r - ggplot2 和 cumsum()

转载 作者:行者123 更新时间:2023-12-04 11:05:02 26 4
gpt4 key购买 nike

我有一组 UNIX 时间戳和 URI,我正在尝试绘制每个 URI 的请求累积计数。我设法使用虚拟列一次为一个 URI 执行此操作:

x.df$count <- apply(x.df,1,function(row) 1) # Create a dummy column for cumsum
x.df <- x.df[order(x.df$time, decreasing=FALSE),] # Sort
ggplot(x.df, aes(x=time, y=cumsum(count))) + geom_line()

但是,在我的情况下,这将产生大约 30 个图。

ggplot2 确实允许您将多条线绘制成一个图(我从 here 复制了这段代码):
ggplot(data=test_data_long, aes(x=date, y=value, colour=variable)) +
geom_line()

问题是,这样, cumsum()会一直指望。

有人有想法吗?

最佳答案

这是使用 plyr 的测试数据的 transform首先计算累积总和,然后使用 ggplot2 将该数据应用于绘图:

set.seed(45)
DF <- data.frame(grp = factor(rep(1:5, each=10)), x=rep(1:10, 5))
DF <- transform(DF, y=runif(nrow(DF)))

# use plyr to calculate cumsum per group of x
require(plyr)
DF.t <- ddply(DF, .(grp), transform, cy = cumsum(y))

# plot
require(ggplot2)
ggplot(DF.t, aes(x=x, y=cy, colour=grp, group=grp)) + geom_line()

enter image description here

关于r - ggplot2 和 cumsum(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15768099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com