У меня есть смоделированная матрица дат, которую я сгенерировал из функции вероятности. Каждый столбец представляет одну итерацию.
Я бы хотел каждый бин отдельно по десятилетиям и сваливать их в новую матрицу, где каждый столбец - это длина всех десятилетий одного цикла с числом дат, сгруппированных по десятилетия.
Я успешно сделал это для одного вектора дат, но не для матрицы:
«даты» - это вектор наблюдаемых данных, представляющих, когда в популяции образовались определенные деревья
#find min and max decade
minDecade <- min(dates)
maxDecade <- max(dates)
#create vector of decades
allDecades <- seq(minDecade, 2001, by=10)
#make empty vector of same length as decade vector
bin.vec <- rep(0,length(allDecades))
#populate bin.vec (empty vector) with the number of trees in each decade
for (i in 1:length(allDecades)) {
bin.vec[i] <- length(which(dates==allDecades[i]))
}
bin.vec:
0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 2 0 1 3 0 1 3 8 5 9 8 5 5 4 10 3 6 9 17 32 37 35 25 31 41 41 44 45 40 50 43 59 42 46 28 16 18 20 16 11 4 7 1
Это в основном то, что мне нужно сделать, только для каждого отдельного столбца в матрице.
Моя матрица выглядит так (на самом деле в ней 835 строк, но я использовал head()
, чтобы сократить ее):
1 2 3 4 5
1 1891 1791 1771 1741 1981
2 1881 1851 1941 1831 1841
3 1981 1861 1761 1781 1791
4 1911 1901 1941 1801 1801
5 1771 1751 1841 1751 1951
6 1821 1871 1821 1691 1851
7 1851 1851 1931 1921 1931
8 1921 1941 1601 1751 1861
9 1741 1761 1931 1791 1891
10 1751 1891 1951 1931 1901
Каждый столбец - это отдельная итерация моего моделирования (runs <- 10
). Как я могу разбить каждый столбец на десятилетия отдельно?