首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组合具有相似基因ID的序列

组合具有相似基因ID的序列
EN

Stack Overflow用户
提问于 2013-09-04 01:23:03
回答 3查看 76关注 0票数 2

我有一个基因in的列表,以及它们在R中的序列。

代码语言:javascript
复制
$2435
[1]"ATGCGGGCGGGGGTCGTCGA"

$2435
[1]"ATGCGGCGCGCGCGCTATATACGC"

$2435
[1]"ATGCGGCGCCTCTCATCGCGGGGG"

我想将R中那个列表中具有相同基因in的序列组合起来。

代码语言:javascript
复制
$2435
[1]"ATGCGGGCGGGGGTCGTCGAATGCGGCGCGCGCGCTATATACGCATGCGGCGCCTCTCATCGCGGGGG"
EN

回答 3

Stack Overflow用户

发布于 2013-09-04 01:28:30

在将名称与unique匹配后使用lapply。以下是一些示例数据:

代码语言:javascript
复制
A <- list("12" = "AAAABBBBCCCCDDDD",
          "34" = "GGGG",
          "12" = "XXXXXXXXXXXXXXXXXXXXXXX",
          "10" = "FFFFGGGG",
          "10" = "HHHHIIII")
A
# $`12`
# [1] "AAAABBBBCCCCDDDD"
# 
# $`34`
# [1] "GGGG"
# 
# $`12`
# [1] "XXXXXXXXXXXXXXXXXXXXXXX"
# 
# $`10`
# [1] "FFFFGGGG"
# 
# $`10`
# [1] "HHHHIIII"

将相关的names设置为子集,并将它们paste在一起。

代码语言:javascript
复制
lapply(unique(names(A)), function(x) paste(A[names(A) %in% x], collapse = ""))
# [[1]]
# [1] "AAAABBBBCCCCDDDDXXXXXXXXXXXXXXXXXXXXXXX"
# 
# [[2]]
# [1] "GGGG"
# 
# [[3]]
# [1] "FFFFGGGGHHHHIIII"
票数 2
EN

Stack Overflow用户

发布于 2013-09-04 01:33:17

代码语言:javascript
复制
l <- list("A" = "ABC", "B" = "XYX", "A" = "DEF", "C" = "YZY", "A" = "GHI")
tapply(l, names(l), paste, collapse = "", simplify = FALSE)
# $A
# [1] "ABCDEFGHI"
# 
# $B
# [1] "XYX"
# 
# $C
# [1] "YZY"
票数 2
EN

Stack Overflow用户

发布于 2013-09-04 01:40:28

奖励:

对于数据帧输出,请使用以下命令:

代码语言:javascript
复制
aggregate(unlist(A), by=list(id=names(A)), paste, collapse="")

其中A是您列出的。

使用@Ananda的A,我得到了这样的结果:

代码语言:javascript
复制
  id                                       x
1 10                        FFFFGGGGHHHHIIII
2 12 AAAABBBBCCCCDDDDXXXXXXXXXXXXXXXXXXXXXXX
3 34                                    GGGG
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18598053

复制
相关文章

相似问题

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