Обзор
У меня есть фрейм данных с именем df1 , содержащий два столбца: (1) Urbanisaiton_index (содержит ** четыре подуровня (1-4)) ; и ( 2) Canopy_Index
Для анализа данных я хочу провести одну ANOVA, чтобы различать общую дисперсию внутри и между группами подуровней для Urbanisation_index для различий вCanopy_Index. Идея состоит в том, чтобы определить, влияют ли различные уровни урбанизации на степень покрытия навесом у древесных пород Quercus petraea.
Чтобы провести ANOVA, мне нужно перевернуть столбцыво фрейме данных и создайте новый фрейм данных. Мне бы хотелось, чтобы заголовки столбцов были 1, 2, 3, 4, чтобы представить различия в четырех группах или / подуровнях Urbanisation_index. Во-вторых, я хотел бы перечислить Canopy_Indexзначения, относящиеся к каждому подуровню, в свой столбец определенного подуровня (см. требуемые результаты).
После того, как требуемый новый фрейм данных будетВ построенном виде данные будут сгруппированы в правильном формате для проведения ANOVA.
Я пробовал много разных способов, таких как транспонирование, но я не могу понять, как перечислить подуровни urbansation_index (1-4) в качестве заголовков столбцов и скомпилировать соответствующие им значения Canopy_Index (то есть количество строк в Canopy_Index).в соответствии с подуровнем Urbanisation_index) в соответствующих столбцах.
Например, если кадр данных был отфильтрован для Urbanisation_index, подуровень 1, может быть 6 наблюдений (5, 5, 5, 5, 55, 55) для Canopy_Index, и я бы хотел, чтобы они былиперечислены под заголовком столбца 1 в новом фрейме данных, как показано ниже.
Если кто-то может помочь, я был бы очень признателен.
Rcode
##transpose
t(df1)
Желаемый результат
1 2 3 4
65 55 5 35
45 85 55 45
75 75 15 25
Данные
structure(list(Urbanisation_index = c(2, 2, 4, 4, 3, 3, 4, 4,
4, 2, 4, 3, 4, 4, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2,
2, 2, 2, 4, 4, 3, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 4, 4, 4,
4, 4, 4, 4), Canopy_Index = c(65, 75, 55, 85, 85, 85, 95, 85,
85, 45, 65, 75, 75, 65, 35, 75, 65, 85, 65, 95, 75, 75, 75, 65,
75, 65, 75, 95, 95, 85, 85, 85, 75, 75, 65, 85, 75, 65, 55, 95,
95, 95, 95, 45, 55, 35, 55, 65, 95, 95, 45, 65, 45, 55)), row.names = c(NA,
-54L), class = c("data.table", "data.frame"), .internal.selfref = <pointer: 0x1030086e0>, index = structure(integer(0), "`__Species`" = integer(0)))