1
什麼是乾淨的方式來解決以下問題? 我想用do.call來綁定一個動物園對象列表。cbind爲動物園對象列表
>> zz <- list(zoo(1:10,1:10), zoo(101:110,1:10), zoo(201:210,1:10))
>> names(zz)<-c('test','bar','foo')
>> do.call(cbind,zz)
> test bar foo
> 1 1 101 201
> 2 2 102 202
> 3 3 103 203
> 4 4 104 204
> 5 5 105 205
> 6 6 106 206
> 7 7 107 207
> 8 8 108 208
> 9 9 109 209
> 10 10 110 210
>> names(zz)<-c('test','all','foo')
>> do.call(cbind,zz)
> test foo
> 1 1 201
> 2 2 202
> 3 3 203
> 4 4 204
> 5 5 205
> 6 6 206
> 7 7 207
> 8 8 208
> 9 9 209
> 10 10 210
因爲 '所有' 是一個參數來cbind.zoo名稱:
R> args(cbind.zoo)
function (..., all = TRUE, fill = NA, suffixes = NULL, drop = FALSE)
NULL
do.call構造有點像電話:
R> cbind(test=zz$test, all=zz$all, foo=zz$foo)
同樣的事情會發生名爲'fill', '後綴'或'drop'的列表元素。
'do.call(cbind.data.frame,ZZ)'也將工作,不是嗎?甚至'as.data.frame(zz)',只要所有'zz'元素的長度相同即可。 – 2014-10-27 23:00:37