在R中将列用作组

时间:2012-12-04 22:38:36

标签: r

我的数据安排如下。我的小组在列中,我有两组如下所示。我的实际数据集包含大约15个配对变量。

如何操作R中的这些数据(导入的csv)以便我可以比较这两组?例如,如果我想制作条形图(使用sciplot库)bargraph.CI (var_x, group, data=mydata),我如何才能将这些列用作组?

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
etc

1 个答案:

答案 0 :(得分:2)

以下是基于reshape的答案,但我确信有很多方法可以解决这个问题。

首先,重新创建测试数据:

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)