1
我有長度30000的列表,並且每個列表元素包含長度爲6提取元件
實施例中的一個矢量(具有的長度僅有2):
trainLists <- list(c(1,2,3,4,5,6),c(7,8,9,10,11,12))
我想要將這些列表「拼合」成一個數據框並創建6個因子(一個對應於列表中向量中的每個元素)。
因此,結果將是:
我可以用一個循環完成此如
for (i in 1:length(trainLists){
factor1 [i] <- trainLists[[i]][1]
factor2 [i] <- trainLists[[i]][2]
factor3 [i] <- trainLists[[i]][3]
factor4 [i] <- trainLists[[i]][4]
factor5 [i] <- trainLists[[i]][5]
factor6 [i] <- trainLists[[i]][6]
}
但它是可怕的慢。如何最好地完成這個?
請參閱'?rbind'和'?cbind'。提示:從你的小數據測試'do.call(rbind,trainLists)'開始,看看它做了什麼。 – Arun
哦,這很酷!謝謝! –
爲了強化因素,你可以使用'sapply/lapply',但是這可能需要另一個調用as.data.frame。另一個選項就像** plyr **包中的colwise(as.factor)(yourData)'。 – joran