У меня возникли трудности с созданием таблицы двустороннего распределения частот для данных диаметра-высоты дерева. У меня есть набор данных, как показано ниже
dbh(cm) tht(m)
3 53.35
19 13.37
27 16.53
22 17.8
9 8.33
10 8.76
24 15.62
44 30.3
17 14.91
10 8.93
Мне нужно создать таблицу частотного распределения для этих данных с классами для обоих столбцов. Мои границы класса такие,
для диаметра:
8 - 11.9
12 - 15.9
16 - 19.9 and so.
для высоты:
3 - 4.9
5 - 6.9
7 - 8.9 and so.
Итак, у меня есть тысячи строк данных, и суммирование каждой частоты само по себе является полной болью. Я написал следующие строки (dbh обозначает диаметр, а tht — высоту);
> data <- read.csv('data.csv')
> diameter <- data$dbh
> range(diameter)
[1] 6.0 60.5
> breaks <- seq(6, 61, by=4)
> diameter.cut <- cut(diameter, breaks, right = FALSE)
> diameter.frq <- table(diameter.cut)
> cbind(diameter.frq)
diameter.frq
[6,10) 35
[10,14) 77
[14,18) 59
[18,22) 25
[22,26) 25
[26,30) 51
[30,34) 38
[34,38) 28
[38,42) 21
[42,46) 22
[46,50) 14
[50,54) 2
[54,58) 6
>
Я могу сделать то же самое с высотой дерева (tht). Но проблема в том, как мне создать «таблицу перекрестных частот»
Например: есть 35 деревьев в классе диаметра [6,10)
. Но мне нужно распределить эти 35 деревьев по каждому классу высоты. Допустим, 12 из этих деревьев относятся к [3,5)
классу высоты, 8 из них к [5,7)
...и т.д.
P.S. Я новичок в R. Так что моя проблема может показаться довольно фиктивной, но я действительно покопался в Интернете, прежде чем писать сюда. Сожалею об этом.