首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于zoo对象列表的cbind

用于zoo对象列表的cbind
EN

Stack Overflow用户
提问于 2014-10-28 06:43:33
回答 1查看 642关注 0票数 1

解决以下问题的干净方法是什么?我想用do.call绑定一个zoo对象列表。

代码语言:javascript
复制
>> 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

因为'all‘是cbind.zoo的一个参数的名称:

代码语言:javascript
复制
R> args(cbind.zoo)
function (..., all = TRUE, fill = NA, suffixes = NULL, drop = FALSE)
NULL

do.call构造了一个类似如下的调用:

代码语言:javascript
复制
R> cbind(test=zz$test, all=zz$all, foo=zz$foo)

同样的事情也会发生在名为“fill”、“suffixes”或“drop”的列表元素上。

EN

回答 1

Stack Overflow用户

发布于 2014-10-28 06:52:23

最好的方法是避免保留的名称,但如果你真的必须使用它们,那么尝试这样做:

代码语言:javascript
复制
setNames(do.call(cbind, unname(zz)), names(zz))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26598093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档