我有一个data.frame(来自csv文件),它对某些正在运行的程序的几个功能有不同的测量值。
> bench
features input_sizes arithmetic.mean
1 ui 70000000 3714.195
2 un 1500000 83.695
3 cn 1500000 6056.261
4 ui 2000000 144.052
5 ci 2000000 1606.531
6 …
我可以绘制这些数据并相互比较功能(arithmetic.mean
依赖于input_sizes
features
分组。
但是,我对某些功能系列,u*
系列与c*
系列之间的区别感兴趣。
对于此示例,以及手边的数据点:
1500 cn - un
为5972.566,即98.6%和
2000000的ci - ui
为1462.479,即91%
如何轻松获取此数据?
我还计划将绝对差异绘制为相对于居中0的条形图,将百分比绘制为折线图,在同一图表中,ggplot2
可以轻松实现这一点吗?
答案 0 :(得分:1)
DF <- read.table(text=" features input_sizes arithmetic.mean
1 ui 70000000 3714.195
2 un 1500000 83.695
3 cn 1500000 6056.261
4 ui 2000000 144.052
5 ci 2000000 1606.531", header=TRUE)
#split the feature id
DF$feat1 <- substr(DF$features,1,1)
DF$feat2 <- substr(DF$features,2,2)
library(reshape2)
DF1 <- dcast(DF, input_sizes+feat2~feat1, value.var="arithmetic.mean")
DF1$diff <- DF1$c-DF1$u
# input_sizes feat2 c u diff
# 1 1500000 n 6056.261 83.695 5972.566
# 2 2000000 i 1606.531 144.052 1462.479
# 3 70000000 i NA 3714.195 NA