我第一次接触R和ggplot2来显示从ndnSim获取的数据,当我运行流代码时,它分别在10秒的时间显示HopCount 4和2,在11秒的时间显示4和4。但是我想让它在10秒的时间内显示为6( HopCount的总和),以及类似的11sec...and的HopCount 8的总和,等等。怎么做,请帮帮我。
Time Node AppId SeqNo Type HopCount
10.0057 leaf-1 1 0 LastDelay 4
10.0057 leaf-1 1 0 FullDelay 4
10.0066 leaf-1 1 1 LastDelay 2
10.0066 leaf-1 1 1 FullDelay 2
11.0029 leaf-2 2 0 LastDelay 2
11.0029 leaf-2 2 0 FullDelay 2
11.0057 leaf-1 1 0 LastDelay 4
11.0057 leaf-1 1 0 FullDelay 4
11.0057 leaf-1 1 0 LastDelay 4
11.0057 leaf-1 1 0 FullDelay 4我的原始代码是
data = read.table ("app-delays-trace.txt", header=T)
data$Node = factor (data$Node)
data$AppId <- factor(data$AppId)
data$HopCount <- data$HopCount
data$Type = factor (data$Type)
# exlude irrelevant types
data = subset (data, Type %in% c("FullDelay"))
data = subset (data, Node %in% c("leaf-1"))
data = subset (data, AppId %in% c("1"))
# combine stats from all faces
data.combined = summaryBy (. ~ Time + Node + AppId + Type, data=data, FUN=sum)
g.root <- ggplot (data.combined) +
geom_point (aes (x=Time, y=HopCount.sum, color=Type), size=0.5) +
geom_line (aes (x=Time, y=HopCount.sum, color=Type), size=0.5) +
ylab ("Hop Count")
print (g.root)
png ("app-delay-1.png", width=500, height=250)
print (g.root)
dev.off ()发布于 2013-11-26 11:09:31
你可能是在找aggregate。您正在尝试的summaryby可能类似于data.combined = aggregate(. ~ Time + Node + AppId + Type, data=data, FUN=sum),根据您的口头描述,我认为您想要这样做
data$TimeFloor <- floor(data$Time)
data.combined = aggregate(. ~ TimeFloor + Node + AppId + Type, data=data, FUN=sum)输出:
> data.combined
TimeFloor Node Time AppId SeqNo Type HopCount
1 10 leaf-1 20.0123 2 1 2 6
2 11 leaf-1 22.0114 2 0 2 8https://stackoverflow.com/questions/20207625
复制相似问题