首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R中按行排列数据

在R中按行排列数据
EN

Stack Overflow用户
提问于 2017-04-13 10:00:17
回答 1查看 39关注 0票数 0

我有OMIM基因列表(大约15,000个基因)与相应的疾病如下:

代码语言:javascript
运行
复制
SLC6A8,CRTR,CCDS1   Cerebral creatine deficiency syndrome 1, 300352 (3)
BCAP31,BAP31,DXS1357E,DDCH  Deafness, dystonia, and cerebral hypomyelination
ABCD1,ALD,AMN   Adrenoleukodystrophy, 300100 (3), X-linked recessive
PLXNB3,PLXN6    NA  

对于某些疾病,我们有多个与疾病相关的基因名称。我想把它组织起来,所以我每一行只有一个基因名和相关的疾病:

代码语言:javascript
运行
复制
SLC6A8 Cerebral creatine deficiency syndrome 1, 300352 (3)
CRTR Cerebral creatine deficiency syndrome 1, 300352 (3)
CCDS1 Cerebral creatine deficiency syndrome 1, 300352 (3)

这能在R中完成吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-13 10:20:28

不完全确定您有什么样的数据结构。下面是一个快速的解决方案,希望对您正在寻找的内容有所帮助:

代码语言:javascript
运行
复制
splitFn <- function(x) expand.grid(df[x,"a"] %>% as.character %>% strsplit(., ",") %>% unlist, df[x, "b"])
ldply(1:nrow(df), splitFn)

       Var1                                                Var2
1    SLC6A8  Cerebral creatine deficiency syndrome 1, 300352(3)
2      CRTR  Cerebral creatine deficiency syndrome 1, 300352(3)
3     CCDS1  Cerebral creatine deficiency syndrome 1, 300352(3)
4    BCAP31    Deafness, dystonia, and cerebral hypomyelination
5     BAP31    Deafness, dystonia, and cerebral hypomyelination
6  DXS1357E    Deafness, dystonia, and cerebral hypomyelination
7      DDCH    Deafness, dystonia, and cerebral hypomyelination
8     ABCD1 Adrenoleukodystrophy, 300100(3), X-linked recessive
9       ALD Adrenoleukodystrophy, 300100(3), X-linked recessive
10      AMN Adrenoleukodystrophy, 300100(3), X-linked recessive
11   PLXNB3                                                <NA>
12    PLXN6                                                <NA>

我用过的data.frame

代码语言:javascript
运行
复制
df <- structure(list(a = structure(c(4L, 2L, 1L, 3L), .Label = c("ABCD1,ALD,AMN", 
"BCAP31,BAP31,DXS1357E,DDCH", "PLXNB3,PLXN6", "SLC6A8,CRTR,CCDS1"
), class = "factor"), b = structure(c(1L, 3L, 2L, NA), .Label = c(" Cerebral 
creatine deficiency syndrome 1, 300352(3)", 
"Adrenoleukodystrophy, 300100(3), X-linked recessive", "Deafness, dystonia, and cerebral hypomyelination"
), class = "factor")), .Names = c("a", "b"), row.names = c(NA, 
-4L), class = "data.frame")```
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43389170

复制
相关文章

相似问题

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