library(reshape2)
library(dplyr)
df = read.csv('in.csv')
print(df)
## Time Conc. X1 X2 X3
## 1 0 100 56 55 50
## 2 0 50 24 27 28
## 3 1 100 112 165 100
## 4 1 50 24 54 28
## 5 2 100 336 495 300
## 6 2 50 24 108 28
## 7 3 100 672 1485 900
## 8 3 50 48 216 56
melted = melt(df, c('Time', 'Conc.'))
print(melted)
## Time Conc. variable value
## 1 0 100 X1 56
## 2 0 50 X1 24
## 3 1 100 X1 112
## 4 1 50 X1 24
## 5 2 100 X1 336
## 6 2 50 X1 24
## 7 3 100 X1 672
## 8 3 50 X1 48
## 9 0 100 X2 55
## 10 0 50 X2 27
## 11 1 100 X2 165
## 12 1 50 X2 54
## 13 2 100 X2 495
## 14 2 50 X2 108
## 15 3 100 X2 1485
## 16 3 50 X2 216
## 17 0 100 X3 50
## 18 0 50 X3 28
## 19 1 100 X3 100
## 20 1 50 X3 28
## 21 2 100 X3 300
## 22 2 50 X3 28
## 23 3 100 X3 900
## 24 3 50 X3 56
summarized = melted %>% group_by('Time', 'Conc.') %>% summarize(mean=mean(value), sd=sd(value))
print(summarized)
## Source: local data frame [8 x 4]
## Groups: Time
##
## Time Conc. mean sd
## 1 0 50 26.33 2.082
## 2 0 100 53.67 3.215
## 3 1 50 35.33 16.289
## 4 1 100 125.67 34.588
## 5 2 50 53.33 47.385
## 6 2 100 377.00 103.764
## 7 3 50 106.67 94.770
## 8 3 100 1019.00 419.360