рассчитать дисперсию всех образцов в р студии - PullRequest
0 голосов
/ 01 мая 2018

У меня есть 30 случайных выборок, взятых из набора данных. Мне нужно рассчитать среднее значение выборки и дисперсию выборки для каждой выборки и расположить их в таблице с 3 столбцами под названием «выборка», «среднее значение» и «дисперсия».

Мой набор данных:

lab6data <- c(2,5,4,6,7,8,4,5,9,7,3,4,7,12,4,10,9,7,8,11,8,
              6,13,9,6,7,4,5,2,3,10,13,4,12,9,6,7,3,4,2)

Я сделал образцы как:

observations <- matrix(lab6data, 30, 5)

и означает для каждого образца отдельно:

means <- rowMeans(observations)

Не могли бы вы помочь мне найти дисперсию для каждого образца отдельно?

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

Мы можем использовать pmap, чтобы применить функцию к каждой строке data.frame

library(purrr)
varS <- pmap_dbl(as.data.frame(observations), ~ var(c(...)))
cbind(observations, varS)

данные

observations <- matrix(lab6data, 10, 4)
0 голосов
/ 01 мая 2018

Вы можете рассчитать дисперсию для строки, используя apply:

apply(observations, 1, var)

Или используйте rowVars из пакета matrixStats.

Обратите внимание, что matrixStats::rowVars будет немного намного быстрее (см. Комментарий @ HenrikB ниже), чем apply(..., 1, var), так же, как rowMeans быстрее, чем apply(..., 1, mean).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...