我有一个数据框架,其中有一列多行。每一行的基因名称用"|"分隔,需要替换这个"|"到新行
df看起来像:
gene
1 EIF2S1|PLEK2
2 IGHV1-45|IGHV1-46|IGHV1-58|IGHV3-33|IGHV3-35|IGHV3-38|IGHV3-43|IGHV3-48|IGHV3-49|IGHV3-53|IGHV4-31|IGHV4-34|IGHV4-39|IGHV4-59|IGHV5-51
3 SERPINA1|SERPINA2
期望输出(需要其中的基因列表的字符向量):
EIF2S1
PLEK2
IGHV1-45
IGHV1-58
...next-gene
...next-gene
...
...
SERPINA2
试了一下,但不正常:
gsub("^|", "", trimws(user_filt))
可以吗?
library(dplyr)
library(tidyr)
df %>% separate_rows(gene, sep = '\|')
# A tibble: 19 x 1
gene
<chr>
1 EIF2S1
2 PLEK2
3 IGHV1-45
4 IGHV1-46
5 IGHV1-58
6 IGHV3-33
7 IGHV3-35
8 IGHV3-38
9 IGHV3-43
10 IGHV3-48
11 IGHV3-49
12 IGHV3-53
13 IGHV4-31
14 IGHV4-34
15 IGHV4-39
16 IGHV4-59
17 IGHV5-51
18 SERPINA1
19 SERPINA2
数据使用:
df
gene
1 EIF2S1|PLEK2
2 IGHV1-45|IGHV1-46|IGHV1-58|IGHV3-33|IGHV3-35|IGHV3-38|IGHV3-43|IGHV3-48|IGHV3-49|IGHV3-53|IGHV4-31|IGHV4-34|IGHV4-39|IGHV4-59|IGHV5-51
3 SERPINA1|SERPINA2