У меня есть фрейм данных со следующей структурой:
> str(data_l)
'data.frame': 800 obs. of 5 variables:
$ Participant: int 1 2 3 4 5 6 7 8 9 10 ...
$ Temperature: Factor w/ 4 levels "35","37","39",..: 3 3 3 3 3 3 3 3 3 3 ...
$ Region : Factor w/ 5 levels "Eyes","Front",..: 3 3 3 3 3 3 3 3 3 3 ...
$ Time : Factor w/ 5 levels "0","15","30",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Rating : num 5 5 5 4 5 5 5 5 5 5 ...
Я хочу запустить t-тест с одной выборкой для каждой комбинации всех факторов всех уровней, всего 4 * 5 * 5 = 100 t-тестов с рейтингом в качестве зависимых переменных или y
.
Я застрял в цикле по комбинациям и выполнении t-теста в каждом комбо.
Я попытался разбить данные по факторам, затем lapply
t.test()
по списку, но безрезультатно.
У кого-нибудь есть лучший подход? Ура!
Редактировать
Мое конечное намерение состоит в том, чтобы вычислить доверительный интервал для массивов по всем факторам всех уровней. Например, я смог сделать это:
subset1 <- data_l$Rating[data_l$Temperature == 35 & data_l$Region == "Front" & data_l$Time == 0]
Затем
t.test(subset1)$conf.int
Но проблема в том, что мне придется делать это 100 раз.
Изменить 2
Я воссоздаю фрейм данных.
Temperature <- rep(seq(35, 41, 2), 10)
Region <- rep(c("Front", "Back", "Eyes", "Left", "Right"), 8)
Time <- rep(seq(0, 60, 15), 8)
Rating <- sample(1:5, 40, replace = TRUE)
data_l <- data.frame(Region = factor(Region), Temperature = factor(Temperature), Time = factor(Time), Rating = as.numeric(Rating))