首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相加的Summarize_if和串联ids

相加的Summarize_if和串联ids
EN

Stack Overflow用户
提问于 2017-06-26 22:21:16
回答 1查看 108关注 0票数 2

下面是代码:

代码语言:javascript
复制
d <- structure(list(Gene = structure(1:3, .Label = c("k141_20041_1", 
    "k141_27047_2", "k141_70_3"), class = "factor"), phylum = structure(c(1L, 
    1L, 1L), .Label = "Firmicutes", class = "factor"), class = structure(c(1L, 
    1L, 1L), .Label = "Bacillales", class = "factor"), order = structure(c(1L, 
    1L, 1L), .Label = "Bacilli", class = "factor"), family = structure(c(1L, 
    1L, 1L), .Label = "Bacillaceae", class = "factor"), genus = structure(c(1L, 
    1L, 1L), .Label = "Bacillus", class = "factor"), species = structure(c(1L, 
    1L, 2L), .Label = c("Bacillus subtilis", "unknown"), class = "factor"), 
        SampleA = c(0, 0, 0), SampleB = c(0, 0, 0), SampleCtrl = c(3.98888888888889, 
        11.5555555555556, 3.35978835978836)), .Names = c("Gene", 
    "phylum", "class", "order", "family", "genus", "species", "SampleA", 
    "SampleB", "SampleCtrl"), row.names = c(21918L, 40410L, 40857L
    ), class = "data.frame")

以下是输出数据帧:

代码语言:javascript
复制
Gene     phylum      class   order      family    genus           species SampleA SampleB
k141_20041_1 Firmicutes Bacillales Bacilli Bacillaceae Bacillus Bacillus subtilis       0       0
k141_27047_2 Firmicutes Bacillales Bacilli Bacillaceae Bacillus Bacillus subtilis       0       0
k141_70_3 Firmicutes Bacillales Bacilli Bacillaceae Bacillus           unknown       0       0
  SampleCtrl
  3.99
 11.56
  3.36

我总结如下:

代码语言:javascript
复制
library(dplyr)
d%>%
group_by(phylum,class,order,family,genus, species)%>%
summarise_if(is.numeric, sum)    

      phylum      class   order      family    genus           species SampleA SampleB SampleCtrl
      <fctr>     <fctr>  <fctr>      <fctr>   <fctr>            <fctr>   <dbl>   <dbl>      <dbl>
1 Firmicutes Bacillales Bacilli Bacillaceae Bacillus Bacillus subtilis       0       0   15.54444
2 Firmicutes Bacillales Bacilli Bacillaceae Bacillus           unknown       0       0    3.35979

我想添加一列,并将总结的基因连接起来。例如,它将如下所示:

代码语言:javascript
复制
    phylum      class   order      family    genus           species SampleA SampleB SampleCtrl Gene
      <fctr>     <fctr>  <fctr>      <fctr>   <fctr>            <fctr>   <dbl>   <dbl>      <dbl>
1 Firmicutes Bacillales Bacilli Bacillaceae Bacillus Bacillus subtilis       0       0   15.54444  k141_20041_1,k141_27047_2
2 Firmicutes Bacillales Bacilli Bacillaceae Bacillus           unknown       0       0    3.35979 k141_70_3 

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-26 22:26:24

基本上,您希望使用toString粘贴基因,然后对相同的列进行分组,包括新的基因列,以便summarise将其包含在最终的表中。

代码语言:javascript
复制
library(dplyr)
d%>%
  group_by(phylum,class,order,family,genus, species)%>%
  mutate(Gene=toString(Gene))%>%
  group_by(phylum,class,order,family,genus, species,Gene)%>%
  summarise_if(is.numeric, sum)   
      phylum      class   order      family    genus           species                       Gene SampleA SampleB SampleCtrl
      <fctr>     <fctr>  <fctr>      <fctr>   <fctr>            <fctr>                      <chr>   <dbl>   <dbl>      <dbl>
1 Firmicutes Bacillales Bacilli Bacillaceae Bacillus Bacillus subtilis k141_20041_1, k141_27047_2       0       0  15.544444
2 Firmicutes Bacillales Bacilli Bacillaceae Bacillus           unknown                  k141_70_3       0       0   3.359788
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44761898

复制
相关文章

相似问题

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