Как рассчитать среднее значение нескольких факторов и уровней?

У меня есть набор данных (Orig.data) из нескольких столбцов: 1-й столбец = предметы, а последующие столбцы - это факторы (Factor1, Factor2,...), где каждый фактор имеет 2 уровня (A и B для Factor1, 1 и 2 для Фактор2, например); а затем результаты в разных столбцах (зависимые переменные).

Каждое условие состояло из двух испытаний. Таким образом, первые две строки представляют испытания 1 и 2 субъекта 1, фактор 1-A, фактор 2-1, 3-я и 4-я строки представляют собой испытания Sub1 Factor1-A, Factor2-2, 5-я и 6-я строки представляют собой Sub1 для Factor1-B, Factor2-1. , и так далее.

Я хочу вычислить среднее значение первых двух строк, следующих двух строк и так далее. Используя приведенный ниже код, я структурно получаю результат, который мне нужен, но расчет полностью отключен:

MySummaryFunc <- function(x) {c(mean = mean(x, na.rm = T), len = sum(!is.na(x)))}

data_avg = summaryBy(Depend.Var1 ~ Subject + Factor1 + Factor2, 
                     data = Orig.data, 
                     FUN = MySummaryFunc, keep.names = TRUE)

Может ли кто-нибудь помочь мне, как решить проблему?


person Masa    schedule 01.11.2018    source источник
comment
Просто попробуйте с dplyr Orig.Data %>% group_by(Factor1, Factor2) %>% summarise_at(vars(matches("Depend")), funs(mean, sd, sum)) указать na.rm = TRUE если нужно   -  person akrun    schedule 01.11.2018
comment
Возможный дубликат среднего значения переменной по двум факторам   -  person Rui Barradas    schedule 01.11.2018
comment
Руи Баррадас Спасибо за комментарии. Я пробовал это раньше и не работал.   -  person Masa    schedule 01.11.2018
comment
Я действительно не понимаю вашего вопроса. Пример данных было бы неплохо. Но если у меня возникнет вопрос: возможно ли работать, если вы сначала выполните rowMeans над данными, которые хотите получить, а затем используете rollapply, чтобы получить среднее значение для каждых двух строк?   -  person Santiago I. Hurtado    schedule 01.11.2018