【发布时间】:2018-08-22 20:13:16
【问题描述】:
我有一个需要堆叠的 GO 术语的 data.frame。 df 看起来像:
> head(GO_info)
V2
Gene1 GO:0003674,GO:0005215,GO:0005216,GO:0005575
Gene2 GO:0000462,GO:0002181,GO:0003674,GO:0003735
但我希望这个数据框堆叠起来,包括标题“ind”和“values”,例如:
ind values
Gene1 GO:0003674
Gene1 GO:0005215
etc
我尝试使用:
GO_info2 <- stack(GO_info)
但这不起作用,R帮助功能对我没有多大帮助。有人可以帮帮我吗?
【问题讨论】:
-
我看到我的 >head(GO_info) 是一个小错误。第 1 列有一个名为 V1 的标题,所以它看起来像: V1 V2 Gene1 GO:0003674,GO:0005215,GO:0005216,GO:0005575 Gene2 GO:0000462,GO:0002181,GO:0003674,GO:0003735 因为代码A. Suliman 不工作 我现在尝试如下:
GOterm <- data.frame(V2=unlist(strsplit(as.character(GOterm1$V2),",")))但是 V1 被完全删除,而这对于标识符很重要。有什么帮助吗? -
如果您有两列 V1 和 V2,那么您可以使用
df %>% separate_rows(V2,sep = ',')。然后使用colnames(df) <- c('ind','values')更改列名