d = data.frame(
Temperature = c(rep("Cool", 6), rep("Warm", 6)),
Bact = c(rep("Bact 1", 2), rep("Bact 2", 2), rep("Bact 3", 2), rep("Bact 1", 2), rep("Bact 2", 2), rep("Bact 3", 2)),
Time = c(15.23,14.32,14.77,15.12,14.05,15.48,14.13,16.13,16.44,14.82,17.96,16.65)
)
Я создал небольшую рамку данных для двусторонней ANOVA. Я хочу, чтобы выполнить двусторонний ANOVA модель поСоздайте фиктивную переменную, чтобы сделать двустороннюю ANOVA
summary(aov(Time~Bact*Temperature, data=d))
время является зависимой переменной, а Bact и температуры две категориальные независимые переменные.
Вместо того, чтобы делать это методом ANOVA, я хочу узнать и доказать, что ANOVA также может быть выполнено с помощью модели линейной регрессии. Я хочу преобразовать свои данные в фиктивные переменные и выполнить линейную регрессию. Я ожидаю, что вернусь к тем же результатам. Фиктивные переменные также будут включать эффекты взаимодействия между Bact и Temperature.
Проблема в том, что я не знаю, как преобразовать свой фрейм данных в фиктивные переменные, чтобы он мог использоваться в функции lm().
'warm * bact2' ==' warm + bact2 + warm: bact2'. Добавление другого 'warm * bact3' действительно добавит' warm' дважды, но R достаточно умен, чтобы исключить несколько экземпляров переменных с тем же именем и включить их только один раз. Попробуйте 'lm (Time ~ warm + warm + warm, data = new_data)' и посмотрите, сколько коэффициентов вы получите :) – LyzandeR