Ответ в одну строку:
mean(rowMeans(t(combn(x,2))))
объяснил шаг за шагом:
с помощью «нарисовать 2 наблюдения» вы фактически хотите выбрать 2 объекта / наблюдения из x:
x <- c(2, 4, 6, 8)
combn(x, 2)
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 2 2 2 4 4 6
## [2,] 4 6 8 6 8 8
с t()
вы можете преобразовать его в:
t(combn(x,2))
## [,1] [,2]
## [1,] 2 4
## [2,] 2 6
## [3,] 2 8
## [4,] 4 6
## [5,] 4 8
## [6,] 6 8
Средство, которое вы можете рассчитать с помощью rowMeans()
rowMeans(t(combn(x,2)))
## [1] 3 4 5 5 6 7
Если вы вычислите среднее значение этого, вы получите то, что вы хотите.
mean(rowMeans(t(combn(x,2))))
## [1] 5