首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dcast和聚合长度(R)

dcast和聚合长度(R)
EN

Stack Overflow用户
提问于 2018-07-29 05:40:54
回答 1查看 175关注 0票数 2

我在R中有以下数据

代码语言:javascript
复制
   ID   credit_active    credit_currency      credit_type
   1    Active           Dollars              Home
   1    Closed           Dollars              Home
   1    Active           Euro                 Home
   2    Active           Dollars              Home
   2    Closed           Dollars              Home
   2    Active           Euro                 Home

我想要下列格式的数据

代码语言:javascript
复制
   ID     Active    Closed     Dollars     Euro     Home
   1      2         1          2           1        3
   2      2         1          2           1        3

我正在使用dcast函数来完成上面的工作。

代码语言:javascript
复制
  dcast_bureau <- dcast(setDT(bureau),ID~ credit_active + credit_currency + credit_type,
                  value.var = c("credit_active ","credit_currency ","credit_type")
                  ,fun.aggregate = length)       

但它并没有给我想要的格式。我怎么才能在r中做到呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-29 05:43:14

我们需要meltdcast。如果存在重复元素,默认情况下,fun.aggregatelength

代码语言:javascript
复制
dcast(melt(setDT(bureau), id.var = 'ID'), ID ~ value)
#    ID Active Closed Dollars Euro Home
#1:  1      2      1       2    1    3
#2:  2      2      1       2    1    3

reshape2中,有一个方便的包装器recast (melt + dcast),它可以使它更加紧凑。

代码语言:javascript
复制
library(reshape2)
recast(bureau, id.var = 'ID', ID ~ value)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51577573

复制
相关文章

相似问题

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