首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较不同的行并删除重复的值

比较不同的行并删除重复的值
EN

Stack Overflow用户
提问于 2015-02-23 14:53:41
回答 1查看 61关注 0票数 0
代码语言:javascript
复制
    Category                 Genes
"Tissue morphology"       "AKT, TGF1B, IFNG, IgG, Igm"
"Tissue morphology"       "ELOVL3, EREG, FABP5, FOXP3, glycerol, GSTO1, HDAC1"
"Tissue morphology"       "AKT, FABPS, Igm"
"Cell growth"             "AICDA, BID, CD200R1, CD36, CSF2"
"Cell growth"             "5-hydroxytryptamine, adenosine triphosphate, AICDA"

我有几个表,这些表由几行组成,它们具有相同的值("Categroy"),但在列“Genes”中有一些不同的/相同的值。我想将所有具有相同“类别”的行合并到一个行中,并保持唯一的行并删除重复。有没有更好的办法来解决这个问题?我试过“互联”和“合并”。但是,并不是很干净和容易。我一直在寻找答案,但还没有找到任何答案,所以我会非常感谢任何帮助!

代码语言:javascript
复制
    Category                 Genes
"Tissue morphology"         "AKT, TGF1B, IFNG, IgG, Igm, ELOVL3, EREG, FABPS, FABP5, FOXP3, glycerol, GSTO1, HDAC1"
"Cell growth"               "5-hydroxytryptamine, adenosine triphosphate, AICDA, BID, CD200R1, CD36, CSF2" 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-23 15:09:04

为此,我们可以使用data.table (其他选项包括aggregatedplyr等)。将"data.frame“转换为"data.table”(setDT(df1)),按“类别”分组,拆分列“基因”(strsplit)、unlistsort和粘贴(toStringpaste(., collapse=", ")的包装器)

代码语言:javascript
复制
library(data.table)
DT1 <- setDT(df1)[, list(Genes=toString(sort(unique(unlist(strsplit(Genes, 
                ', ')))))), by=Category]

DT1$Genes
#[1] "AKT, ELOVL3, EREG, FABP5, FABPS, FOXP3, glycerol, GSTO1, HDAC1, IFNG, IgG, Igm, TGF1B"
#[2] "5-hydroxytryptamine, adenosine triphosphate, AICDA, BID, CD200R1, CD36, CSF2"     

也可以删除重复的元素,而不必拆分字符串,但不会按字母顺序排序。

代码语言:javascript
复制
DT2 <- setDT(df1)[, list(Genes=gsub('(\\b\\S+\\b)(?=.*\\b\\1\\b.*), ', '',
           toString(Genes), perl=TRUE)), Category]

DT2$Genes
#[1] "TGF1B, IFNG, IgG, ELOVL3, EREG, FABP5, FOXP3, glycerol, GSTO1, HDAC1, AKT, FABPS, Igm"
#[2] "BID, CD200R1, CD36, CSF2, 5-hydroxytryptamine, adenosine triphosphate, AICDA"         
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28676500

复制
相关文章

相似问题

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