Weźmy następujący kod:przekształcania macierzy list do regularnej matrycy
foo <- list()
foo[[1]] <- list(a=1, b=2)
foo[[2]] <- list(a=11, b=22)
foo[[3]] <- list(a=111, b=222)
result <- do.call(rbind, foo)
result[,'a']
W tym przypadku result[,'a']
pokazuje listę. Czy istnieje bardziej elegancki sposób, taki, że result
jest "regularną" matrycą wektorów? Wyobrażam sobie, że istnieją ręczne sposoby radzenia sobie z tym, ale zastanawiałem się, czy był oczywisty krok, którego mi brakowało.
życzę 'do.call' +' rbind' był szybki. Czy kiedykolwiek próbowałeś używać go z 10 000 ramek danych na liście ?! – hadley
@hadley: Wydaje mi się, że pamiętam, ucząc się w klasie statystyk obliczeniowych, że był to najszybszy sposób na wiązanie list (po wielu innych nieudanych próbach). Może pamiętam coś niewłaściwego. Co jest szybsze? – Vince
Możesz zarządzać o około 4 razy szybciej, jeśli dokładnie napiszesz to sam. 'rbind.fill' w następnym wydaniu plyr będzie zawierał moje najlepsze starania. – hadley