Построение стандартных ошибок для матрицы (с реплицируемыми данными)

Было много дискуссий о построении планок ошибок в R и часто было много решений. Мне было интересно, можно ли это сделать для данных матрицы с репликами.

Например:

dataset <- read.table(text="Cond1.Rep1 Cond1.Rep2 Cond1.Rep3   Cond2.Rep1    Cond2.Rep2    Cond2.Rep3
4   6   10  10  6   4
5   7   5   10  4   5
4   8   4   2   4   2
6   4   8   5   3   3
7   5   8   6   4   5
7   5   8   8   7   5
8   5   9   9   8   5
4   5   4   3   8   7
6   6   4   5   4   2
4   6   7   7   8   3", head=TRUE)

Что-то вроде вычисления другой матрицы, которая даст значения для стандартной ошибки на основе групп («Cond1» и «Cond2»). Какие-нибудь быстрые возможности, чтобы мы могли создавать графики для любой строки в матрице (или, возможно, даже для всех строк)?

Спасибо


person user1844052    schedule 25.02.2014    source источник
comment
Стандартная ошибка чего?   -  person PascalVKooten    schedule 25.02.2014
comment
реплик для каждого условия.   -  person user1844052    schedule 25.02.2014
comment
Ваш вопрос: «как вычислить стандартную ошибку» или «как построить все строки / столбцы матрицы»? Для последнего см. `? Matplot   -  person Carl Witthoft    schedule 25.02.2014
comment
что-то вроде matplot, но со стандартной ошибкой !! ... решение, приведенное ниже, кажется прекрасным !!   -  person user1844052    schedule 27.02.2014


Ответы (1)


Сначала вы должны изменить форму своих данных:

library(reshape2)
dat <- melt(dataset)
dat <- cbind(dat, 
             do.call(rbind, strsplit(as.character(dat$variable), ".", fixed=TRUE)))
names(dat)[3:4] <- c("Cond", "Rep")
dat$sample <- seq_len(nrow(dataset))

aggregate(value~sample+Cond, data=dat, FUN=function(x) sd(x)/sqrt(length(x)))
#    sample  Cond     value
# 1       1 Cond1 1.7638342
# 2       2 Cond1 0.6666667
# 3       3 Cond1 1.3333333
# 4       4 Cond1 1.1547005
# 5       5 Cond1 0.8819171
# 6       6 Cond1 0.8819171
# 7       7 Cond1 1.2018504
# 8       8 Cond1 0.3333333
# 9       9 Cond1 0.6666667
# 10     10 Cond1 0.8819171
# 11      1 Cond2 1.7638342
# 12      2 Cond2 1.8559215
# 13      3 Cond2 0.6666667
# 14      4 Cond2 0.6666667
# 15      5 Cond2 0.5773503
# 16      6 Cond2 0.8819171
# 17      7 Cond2 1.2018504
# 18      8 Cond2 1.5275252
# 19      9 Cond2 0.8819171

library(ggplot2)
ggplot(dat, aes(x=factor(sample), y=value, colour=Cond)) + 
  stat_summary(fun.data=mean_sdl, mult=1/sqrt(3))

введите описание изображения здесь

person Roland    schedule 25.02.2014
comment
Это идеально, было бы здорово, если бы мы могли построить их рядом друг с другом (вместо комбинирования условий, как на этом графике) в виде штриховых графиков ... Я все же попробую! - person user1844052; 26.02.2014
comment
Это просто вопрос того, как вы это делаете с помощью ggplot2. Это довольно просто. - person Roland; 26.02.2014