I have a list, listDFs, where each element is a data frame. Each data frame has a different number of rows and the same number of columns.
I should create a vector beginning from listDFs[[i]]$Name extracting all the i element from the list.
I thought to use a loop such:
vComposti <- c()
for(j in 1:10){vComposti <- c(listDFs[[j]]$Name)}
But the result is a vector containing only the first level (listDFs[[1]]$Name) of the list.
Where I wrong?? Do you have any suggestion??
The problem you have is in this line:
Each time through your loop, you are re-assigning a new value to
vCompostiand overwriting the previous value.In general it is preferable to pre-allocate the vector and fill it element by element:
But it’s also not clear to me exactly what you’re expecting the result to be. You create a vector, but it looks like you are trying to store an entire data frame column in each element of the vector. If that’s the case you may actually be looking for a result that’s a list:
Another, somewhat more sophisticated, option may be to use
lapply: