我是R的新手,並且有一個連接問題,我無法解決。使用不同數量的元素連接嵌套列表
我有以下形式的巨大的數據幀:
station POSIX date.str forec.time lead.time mean.ens obs
6019 2011-08-06 06:00 20110806 00 006 45 67
6019 2011-08-06 07:00 20110806 00 007 69 72
6031 2011-08-06 12:00 20110806 06 006 87 95
6031 2011-08-06 13:00 20110806 06 007 88 97
我用「層」來分割數據幀像這樣
mydata.split <- dlply(mydataframe, .(datestr), dlply, .(forec.time), dlply, .(lead.time), identity, .drop = FALSE)
我做了一些計算與數據,這需要數據拆分這種方式。我把這個新名單稱爲mynewlist af計算。我想連接這些數據,但由於列表元素的數量不同,我遇到了問題。
> length(mynewlist[[1]][[1]])
[1] 34
> length(mynewlist[[1]][[2]])
[1] 38
我曾嘗試使用do.call(rbind, do.call(rbind, do.call(rbind, mynewlist)))
來連接列表爲數據幀,但我得到了以下信息:
In function (..., deparse.level = 1) : number of columns of result is not a multiple of vector length (arg 1)
有沒有一種連接嵌套列表與不同數量的元素的方法?
我很重要的幫助或一個方向上的一個點。 Regard Sisse
不確定你確定你是如何連接這些的;每個列表將成爲新數據框中的一行,但由於它們的長度不同,每個列表都會貢獻不同數量的列?如果是這樣,那麼額外的列應該是什麼?如果是這種情況,空白欄應該是'NA',那麼可以用'rbind.fill'代替'rbind' –
另外,如果他們的新項目代表新行,那麼這些行上的未填充列會有什麼內容?你可以盲目填寫NA或回收物品,但是你想要嗎? 'data.frame'類的項目是矩形的,'list'項目不是。如果它不是矩形的,那麼你不能真正把它變成一個合適的'data.frame'。 – John