Один из вариантов: unlist
, создайте array
и используйте одну из пользовательских функций, которая вычисляет стандартную ошибку
library(plotrix)
dim1 <- c(dim(txt[[1]]), length(txt))
apply(array(unlist(txt), dim1), 1:2, std.error)
# [,1] [,2] [,3] [,4]
#[1,] 1.666667 1.2018504 1.452966 1.7638342
#[2,] 2.081666 1.5275252 1.527525 2.3333333
#[3,] 2.027588 0.8819171 1.855921 0.8819171
, которая также равна функции OP, показанной для вычисления
apply(array(unlist(txt), dim1), 1:2, function(x) sd(x)/sqrt(length(x)))
# [,1] [,2] [,3] [,4]
#[1,] 1.666667 1.2018504 1.452966 1.7638342
#[2,] 2.081666 1.5275252 1.527525 2.3333333
#[3,] 2.027588 0.8819171 1.855921 0.8819171
Может также использоваться для вычисления mean
Reduce(`+`, txt)/length(txt)
# V1 V2 V3 V4
#1 5.333333 6.333333 5.333333 4.666667
#2 4.000000 3.000000 4.000000 5.333333
#3 4.666667 4.666667 6.666667 6.666667
apply(array(unlist(txt), dim1), 1:2, mean)
# [,1] [,2] [,3] [,4]
#[1,] 5.333333 6.333333 5.333333 4.666667
#[2,] 4.000000 3.000000 4.000000 5.333333
#[3,] 4.666667 4.666667 6.666667 6.666667
apply(array(unlist(txt), dim1), 2, rowMeans)
данных
set.seed(24)
txt <- lapply(1:3, function(i) as.data.frame(matrix(sample(1:9, 3 * 4,
replace = TRUE), 3, 4)))