Похоже, у вас неверно сформированная таблица TSV (значения, разделенные табуляцией).Если вы поменяете местами пробелы для новой строки, вы можете прочитать ее в виде таблицы, и вам не нужно устанавливать свои собственные правила синтаксического анализа:
x <- "A1BG\tAAAGGGCGTTCACCGG\t2 A1BG\tAAGATAGCATCCCACT\t1"
x2 <- gsub(" ", "\n", x)
library(data.table)
DT = setnames(fread(x2), c("gene", "code", "num"))[]
# gene code num
# 1: A1BG AAAGGGCGTTCACCGG 2
# 2: A1BG AAGATAGCATCCCACT 1
Затем вы можете посчитать, сколько кодов существует на один ген, например
DT[, .N, by=gene]
# or
DT[, .(N = uniqueN(code)), by=gene]
# gene N
# 1: A1BG 2
или аналогичным образом используйте функции dplyr count
и n_distinct
.