将表格中的行分组

时间:2019-07-11 13:47:09

标签: r sequence

我有一个名为es_table的表,该表由两列$VAr1$Freq组成 在第一列中,我具有元素的名称,但是从第13行到第51行,我具有属于简单重复的元素:

es_table
                Var1 Freq
1   _L1_Arabidopsis1   39
2   _L1_Arabidopsis2    1
3   _L1_Arabidopsis3    2
4      _RTE_Anolis10  100
5       _RTE_Anolis2   14
6       _RTE_Anolis3    5
7       _RTE_Anolis4   19
8       _RTE_Anolis5    6
9       _RTE_Anolis6    1
10      _RTE_Anolis7   14
11      _RTE_Anolis8    7
12      _RTE_Anolis9    6
13              (A)n    1
14             (AA)n    8
15            (AAA)n   11
16           (AAAA)n   11
17          (AAAAA)n    4
18         (AAAAAA)n    1
19        (AAAAAAT)n    1
20         (AAAAAC)n    2
21        (AAAAACA)n    1
22         (AAAAAG)n    1
23        (AAAAAGA)n    1
24        (AAAAAGG)n    1
25        (AAAAAGT)n    1
26         (AAAAAT)n    3
27          (AAAAC)n    3
28         (AAAACA)n    1
29          (AAAAG)n    2
30         (AAAAGA)n    2
31        (AAAAGAA)n    1
32        (AAAAGAG)n    1
33          (AAAAT)n    5
34         (AAAATA)n    4
35        (GCTATAA)n    1
36        (TTTTTTT)n    1
37           (AAAC)n    1
38         (AAACAA)n    1
39           (AAAG)n   21
40          (AAAGA)n    3
41         (AAAGAA)n    4
42        (CCAGAAA)n    2
43         (AAAGAG)n    9
44          (AAAGG)n    1
45           (TCGA)n   11
46          (AAATA)n    3
47         (AAATAA)n    2
48        (CCCTAAA)n    3
49        (GTGTAAT)n    1
50      (AGTAGATAT)n    3
51        (AAATATA)n    1
52          Tx1-5_FR   16
53          U2snRNA1    1
54 VENSMAR1_Mariner     7
55 VENSMAR1_Mariner/    5
56 VENSMAR1_Mariner     7
57            ZhAT5_ZM  3
> 

我的目标是按照通用分类名称对所有“简单重复”进行分组,以便更轻松地识别它们。 例如,我将获得以下内容:

es_table
                Var1 Freq
1   _L1_Arabidopsis1   39
2   _L1_Arabidopsis2    1
3   _L1_Arabidopsis3    2
4      _RTE_Anolis10  100
5       _RTE_Anolis2   14
6       _RTE_Anolis3    5
7       _RTE_Anolis4   19
8       _RTE_Anolis5    6
9       _RTE_Anolis6    1
10      _RTE_Anolis7   14
11      _RTE_Anolis8    7
12      _RTE_Anolis9    6
13              Simple_rep(A)n    1
14             Simple_rep(AA)n    8
15            Simple_rep(AAA)n   11
16           Simple_rep(AAAA)n   11
17          Simple_rep(AAAAA)n    4
18         Simple_rep(AAAAAA)n    1
19        Simple_rep(AAAAAAT)n    1
20         Simple_rep(AAAAAC)n    2
21        Simple_rep(AAAAACA)n    1
22         Simple_rep(AAAAAG)n    1
23        Simple_rep(AAAAAGA)n    1
24        Simple_rep(AAAAAGG)n    1
25        Simple_rep(AAAAAGT)n    1
26         Simple_rep(AAAAAT)n    3
27          Simple_rep(AAAAC)n    3
28         Simple_rep(AAAACA)n    1
29          Simple_rep(AAAAG)n    2
30         Simple_rep(AAAAGA)n    2
31        Simple_rep(AAAAGAA)n    1
32        Simple_rep(AAAAGAG)n    1
33          Simple_rep(AAAAT)n    5
34         Simple_rep(AAAATA)n    4
35        Simple_rep(GCTATAA)n    1
36        Simple_rep(TTTTTTT)n    1
37           Simple_rep(AAAC)n    1
38         Simple_rep(AAACAA)n    1
39           Simple_rep(AAAG)n   21
40          Simple_rep(AAAGA)n    3
41         Simple_rep(AAAGAA)n    4
42        Simple_rep(CCAGAAA)n    2
43         Simple_rep(AAAGAG)n    9
44          Simple_rep(AAAGG)n    1
45           Simple_rep(TCGA)n   11
46          Simple_rep(AAATA)n    3
47         Simple_rep(AAATAA)n    2
48        Simple_rep(CCCTAAA)n    3
49        Simple_rep(GTGTAAT)n    1
50      Simple_rep(AGTAGATAT)n    3
51        Simple_rep(AAATATA)n    1
52          Tx1-5_FR   16
53          U2snRNA1    1
54 VENSMAR1_Mariner     7
55 VENSMAR1_Mariner/    5
56 VENSMAR1_Mariner     7
57            ZhAT5_ZM  3
> 

可能是获得此代码的代码吗? 谢谢 问候

2 个答案:

答案 0 :(得分:2)

您可以搜索括号并粘贴在括号上,即

!makeraid

答案 1 :(得分:0)

如果已经识别出重复项,则可以使用paste将前缀子字符串连接到所需元素上

es_table$Table[13:51] <- paste0("Simple_rep", es_table$Table[13:51] )

如果要识别的模式是(,我们可以使用

library(dplyr)
library(stringr)
es_table %>%
     mutate(Table = case_when(str_detect(Table, "[(]") ~ 
                 str_c("Simple_rep", Table), TRUE ~ Table))