1

我希望将字符串拆分为数据框中的单独行,但我不确定最好的方法是什么。如果我有一个如下所示的数据框:

Gene=c("Gene1","Gene2", "Gene3")
Alt=c("ABC, DEF", "XYZ", "ABC, XYZ")
df=data.frame(Gene, Alt)

目标是将字符串拆分为数据库中的单独行,以便数据框将拆分分配给数据框中的下一行,如下所示:

Gene.b=c("Gene1", "Gene1", "Gene2", "Gene3", "Gene3")
Alt.b=c("ABC","DEF","XYZ","ABC","XYZ")
df2=data.frame(Gene.b, Alt.b)

我尝试对 stringr 使用不同的方法,但似乎无法将它们拆分为正确分配给相关基因的方式。我正在寻找一种与 toString() 函数相反的操作。

4

1 回答 1

2

我们使用separate_rowsfromtidyr并更改列名rename_all

library(tidyr)
library(dplyr)
separate_rows(df, Alt) %>%
    rename_all(~ paste0(., '.b'))
于 2018-11-13T18:50:30.610 回答