在R中对具有相同列名的变量求和

Summing the variables with same column name in R

我有一个包含列名的数据框;

[1] "sample_id"                                           "seq91 Acinetobacter;junii"                          
[3] "seq157 Acinetobacter;lwoffii"                        "seq139 Acinetobacter;johnsonii-lwoffii"             
[5] "seq225 Acinetobacter;johnsonii"                      "seq224 Acinetobacter;lwoffii"                       
[7] "seq278 Acinetobacter;calcoaceticus"                  "seq327 Acinetobacter;lwoffii"                       
[9] "seq309 Acinetobacter;lwoffii"                        "seq508 Acinetobacter;ursingii"                      
[11] "seq394 Acinetobacter;haemolyticus"                   "seq540 Acinetobacter;bouvetii"                      
[13] "seq558 Acinetobacter;bouvetii"                       "seq541 Acinetobacter;lwoffii"                       
[15] "seq575 Acinetobacter;haemolyticus-johnsonii-lwoffii" "seq665 Acinetobacter;junii"                         
[17] "seq707 Acinetobacter;lwoffii"                        "seq755 Acinetobacter;haemolyticus-johnsonii-lwoffii"
[19] "seq677 Acinetobacter;marinus"                        "seq758 Acinetobacter;johnsonii"                     
[21] "seq836 Acinetobacter;junii"                          "seq768 Acinetobacter;septicus-ursingii"             
[23] "seq770 Acinetobacter;bouvetii-johnsonii"             "seq928 Acinetobacter;tjernbergiae"                  
[25] "seq864 Acinetobacter;harbinensis"                    "seq902 Acinetobacter;parvus" 

删除 seqxxx 数字后,我想求和同名列的值。由于列名必须是唯一的,去掉seq和numbers后如何求和呢?谢谢

注意:我的问题的前一版本包括删除 seqxxx 编号,并且通过在一个问题中提出多个问题来违反本网站的规则 post。请原谅我如此不知情posting。

您可以尝试按以下模式替换:

^.*?(?=\bAcinetobacter\b)

然后,将上面捕获的任何内容替换为空字符串即可。这是一个示例:

x <- "seq157 Acinetobacter;lwoffii"
output <- sub("^.*?(?=\bAcinetobacter\b)", "", x, perl=TRUE)
output

[1] "Acinetobacter;lwoffii"