Here's an answer using reshape
in base,但我确信有多种方法可以解决这个问题。
首先,重新创建测试数据:
test <- read.table(header=TRUE,textConnection("Time var_x var_y var_x_2 var_y_2 var_z var_z_2
10:00 2 5 .33 .36 1.1 1.5
10:01 2 6 .34 .35 1.2 1.4"))
> test
Time var_x var_y var_x_2 var_y_2 var_z var_z_2
1 10:00 2 5 0.33 0.36 1.1 1.5
2 10:01 2 6 0.34 0.35 1.2 1.4
重塑数据并保存到新的 data.frame
testreshape <- reshape(test,
idvar="Time",
varying=list(c("var_x","var_x_2"),
c("var_y","var_y_2"),
c("var_z","var_z_2")),
v.names=c("var_x", "var_y", "var_z"),
direction="long")
> testreshape
Time time var_x var_y var_z
10:00.1 10:00 1 2.00 5.00 1.1
10:01.1 10:01 1 2.00 6.00 1.2
10:00.2 10:00 2 0.33 0.36 1.5
10:01.2 10:01 2 0.34 0.35 1.4
运行条形图代码:
library(sciplot)
bargraph.CI(var_x, time, data=testreshape)