Добавление вектора к фрейму данных каждый раз, когда он проходит через цикл for

#r #for-loop #append #rbind

#r #for-цикл #добавить #rbind

Вопрос:

Мой цикл находит 20 лучших округов с наибольшей численностью за 10 разных лет для 35 видов птиц. Я создал цикл for, который дает мне фрейм данных с округом и численностью (два столбца с именем «y») для каждого года, и я хочу поместить это в больший фрейм данных для каждого из 10 лет, чтобы каждый вид в списке содержал 200 строк данных.

Я изо всех сил пытаюсь добавить фрейм данных одного года (y) к следующему по мере его прохождения. Я пробовал rbind и append , и он продолжает говорить, что у меня неправильные строки замены, или повторяет те же 20 строк по всему фрейму данных

 for (i in 1:35) {
    bbscounties[[i]]=as.data.frame(matrix(nrow=200, ncol=4))
    colnames(bbscounties[[i]])=c("Species", "Year", "CountyGEOID", "Abundance")
}
for (i in 1:35) {
    for(j in c(1992:1996,2013:2017)) {
    sub=subset(species[[i]], Year==j)
        for(k in 1:nrow(sub)) {
            pt1=st_sfc(st_point(c(sub[k,]$Longitude, sub[k,]$Latitude))) 
            cnty1=extract.county(pt1, counties)
            sub$County[k]=as.numeric(levels(cnty1$GEOID))[cnty1$GEOID]
            y=rbind(y,y)
            x=aggregate(sub$SpeciesTotal, by=list(County=sub$County), FUN=sum)
            y=arrange(x, desc(x))[1:20,]
            bbscounties[[i]][,1]=species[[i]]$AOU[1]
            bbscounties[[i]][,2]=sub$Year[1]
            bbscounties[[i]][,3]=y[,1]
            bbscounties[[i]][,4]=y[,2]
        }
    }
}
``

 head(species[[1]])
        X CountryNum StateNum Route RouteDataID RPID Year                AOU Count10 Count20 Count30 Count40 Count50 StopTotal SpeciesTotal Active Starttime
120 92256        840       14   103     6345387  101 2012 Aimophila_ruficeps       7       0       0       0       0         5            7      1       510
155 92291        840       14   103     6357807  101 2013 Aimophila_ruficeps       2       4       0       0       0         3            6      1       510
157 92293        840       14   103     6218217  101 1994 Aimophila_ruficeps       6       1       0       0       0         6            7      1       510
162 92298        840       14   103     6226712  101 1996 Aimophila_ruficeps      12       3       0       0       0        10           15      1       510
182 92318        840       14   103     6215329  101 1993 Aimophila_ruficeps       1       1       0       0       0         2            2      1       510
184 92320        840       14   103     6191824  101 1981 Aimophila_ruficeps       4       0       0       0       0         3            4      1       510
    Latitude Longitude Stratum BCR LT                 RT                  RTD County
120 34.56753 -118.5573      92  32 -  1 - Roadside route 1 - Random, 50 Stops    205
155 34.56753 -118.5573      92  32 -  1 - Roadside route 1 - Random, 50 Stops    205
157 34.56753 -118.5573      92  32 -  1 - Roadside route 1 - Random, 50 Stops    205
162 34.56753 -118.5573      92  32 -  1 - Roadside route 1 - Random, 50 Stops    205
182 34.56753 -118.5573      92  32 -  1 - Roadside route 1 - Random, 50 Stops    205
184 34.56753 -118.5573      92  32 -  1 - Roadside route 1 - Random, 50 Stops    205

nrow(species[[1]])
[1] 1992


extract.county=function(pt, counties){
     pt = st_sfc(pt)
   st_crs(pt)=st_crs(counties)
   pt=st_sf(pt)
   x=st_join(pt, counties)
   }



 bbscounties[[1]][1:50,]
              Species Year CountyGEOID Abundance
1  Aimophila_ruficeps 1992       48243        44
2  Aimophila_ruficeps 1992        4023        39
3  Aimophila_ruficeps 1992        4019        20
4  Aimophila_ruficeps 1992        4003        16
5  Aimophila_ruficeps 1992       35047        13
6  Aimophila_ruficeps 1992       48209        12
7  Aimophila_ruficeps 1992       48259        12
8  Aimophila_ruficeps 1992        4007        11
9  Aimophila_ruficeps 1992       48137        10
10 Aimophila_ruficeps 1992        6053         7
11 Aimophila_ruficeps 1992        6017         5
12 Aimophila_ruficeps 1992       48463         5
13 Aimophila_ruficeps 1992        6037         3
14 Aimophila_ruficeps 1992       48413         3
15 Aimophila_ruficeps 1992        6083         2
16 Aimophila_ruficeps 1992       35029         2
17 Aimophila_ruficeps 1992       40075         2
18 Aimophila_ruficeps 1992       48377         2
19 Aimophila_ruficeps 1992        4012         1
20 Aimophila_ruficeps 1992        4013         1
21 Aimophila_ruficeps 1992       48243        44
22 Aimophila_ruficeps 1992        4023        39
23 Aimophila_ruficeps 1992        4019        20
24 Aimophila_ruficeps 1992        4003        16
25 Aimophila_ruficeps 1992       35047        13
26 Aimophila_ruficeps 1992       48209        12
27 Aimophila_ruficeps 1992       48259        12
28 Aimophila_ruficeps 1992        4007        11


  

Комментарии:

1. Не хватает нескольких фрагментов информации: как species выглядит? Каковы функции st_sfc и extract.county ? И как должен выглядеть ваш конечный результат?

2. Извините за это, спасибо, что указали на эти вещи! Я добавил эту информацию, st_sfc является частью пакета sf для установки класса