Ik heb een lus die verschillende data frames
maakt.
Ik wil de data frames
aan het einde van de loop
combineren tot één groot data frame
. Mijn aanpak is om de individuele output data frames
op 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 files
dat ik zal maken (files
is een lijst met filenames
) :
my_list <- vector(mode = "list", length = length(files))
Aan het einde van de lus moeten de individuele data frames
worden 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 rbing
of lapply
te gebruiken, maar ik weet niet zeker hoe ik ze moet coderen.
Antwoord 1, autoriteit 100%
Je kunt dit probleem omzeilen door een list
te 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:10
in de for-lus.