Мы можем использовать split.default
на data.frame
по 'группе', чтобы разделить по столбцам, а затем сделать rowMeans
на list
data.frames
sapply(split.default(as.data.frame(x), group), rowMeans)
# 1 2
#[1,] 6.0 5.5
#[2,] 5.5 6.0
#[3,] 8.0 2.0
#[4,] 6.0 8.0
#[5,] 5.0 7.0
данные
x <- structure(c(7, 7, 7, 4, 9, 8, 5, 1, 8, 9, 5, 4, 9, 8, 1, 3, 7,
3, 8, 5), .Dim = 5:4)
group <- c(1, 2, 1, 2)