对R中相同列名的变量求和[关闭]

问题描述 投票:-1回答:1
我有一个带有列名的数据框;

[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数字后,我想对具有相同名称的列的值求和。由于列名必须唯一,因此在除去序列号和数字后如何执行求和?谢谢

注:我问题的上一个版本包括删除seqxxx数字,并通过在一个帖子中问多个问题来违反该网站的规则。打扰一下,请原谅我。

r bind gsub
1个回答
1
投票
您可以尝试按照以下模式进行替换:

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.