R/dplyr: Hoe initialiseer ik een lege lijst met dataframes?

Ik heb een lus die verschillende data framesmaakt.

Ik wil de data framesaan het einde van de loopcombineren tot één groot data frame. Mijn aanpak is om de individuele output data framesop te slaan in een lijst die ik vervolgens kan combineren tot één data frame.

Tot nu toe heb ik een lijst geïnitialiseerd met de lengte van het aantal filesdat ik zal maken (filesis een lijst met filenames) :

my_list <- vector(mode = "list", length = length(files))

Aan het einde van de lus moeten de individuele data framesworden toegevoegd aan my_list, maar ik krijg steeds deze foutmelding: number of items to replace is not a multiple of replacement length.

Ik denk erover om rbingof lapplyte gebruiken, maar ik weet niet zeker hoe ik ze moet coderen.


Antwoord 1, autoriteit 100%

Je kunt dit probleem omzeilen door een listte gebruiken in plaats van een vector, omdat lijsten geen vaste grootte hebben.

output_list = list()
for(ii in 1:10){
  # make this iteration df
  df = data.frame(random = runif(10))
# store in list
  output_list[[ii]] = df
}

Werkt ook voor c('a','b','c')in plaats van 1:10in de for-lus.

Other episodes