:
lapply(l, function(x){ x <- x[seq_len(m),]; row.names(x) <- NULL; x})
を述べたように、同じことが簡単なベクターで起こります本当に大量のリストを持っていると、forループもここでうまくいくので、読みやすくなります:
l <- list(data.frame(a=1:5,b=4:8), data.frame(a=1:10,b=11:20))
m <- max(sapply(l, nrow))
for (i in seq_along(l)) {
entry <- l[[1]]
# skip entry if no rows need to be added
if (nrow(entry) == m) {
next
}
# otherwise add NA rows
rows_to_add <- matrix(rep(NA, (m - nrow(entry)) * ncol(entry)),
ncol=ncol(entry))
colnames(rows_to_add) <- colnames(entry)
l[[i]] <- rbind(entry, rows_to_add)
}
'lapply(l、function(x)as.data.frame(rbind as.matrix(x)、matrix(data = NA、nrow =(m-nrow(x))、ncol = ncol )) ' – N8TRO