首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R矩阵:由一列唯一,将另一列上的值相加,并将另一列上的值连在一起

R矩阵:由一列唯一,将另一列上的值相加,并将另一列上的值连在一起
EN

Stack Overflow用户
提问于 2013-08-08 05:32:04
回答 1查看 214关注 0票数 0

在R中,我有这个矩阵

代码语言:javascript
复制
> a
     id    size pattern                                 
[1,] "1"   "24"  "100"
[2,] "2"   "10"  "111"
[3,] "3"   "2"   "111"

我想要按模式唯一,添加大小并连接id:

代码语言:javascript
复制
 > a
      id   size pattern                                 
 [1,] "1"    "24"  "100"
 [2,] "2-3"  "12"  "111" (this pattern was duplicated, so add size and concatenate id) 

我能做到:

代码语言:javascript
复制
> a = unique(a[,"pattern"])

但我不知道怎么添加和连接。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-08 05:49:36

如果您想将某些列作为数字(将值相加在一起)处理,而有些列要作为字符处理(粘贴它们),则矩阵不是适合您的数据的结构。你应该使用一个数据框架。

使用plyr:

代码语言:javascript
复制
library(plyr)
ddply(data.frame(a), .(pattern), summarise, 
      id=paste(id, collapse="-"),
      size=sum(as.numeric(size)))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18118567

复制
相关文章

相似问题

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