У меня есть набор данных с названием протеома.В нем 14 столбцов и тысячи строк.
dput(Proteome)
structure(list(Protein.name = structure(c(1L, 1L, 1L, 1L, 2L,
3L), .Label = c("HCTF", "IFT", "ROSF"), class = "factor"), X..Proteins = c(5L,
5L, 5L, 5L, 3L, 7L), X..PSMs = c(3L, 1L, 6L, 2L, 2L, 4L), Previous.5.amino.acids = structure(c(4L,
5L, 4L, 2L, 3L, 1L), .Label = c("CWYAT", "FCLKP", "MGCPT", "NCTMY",
"TMYFC"), class = "factor"), Sequence = structure(c(5L, 1L, 4L,
2L, 3L, 6L), .Label = c("FCLKPGCNFHAESTRGYR", "GCNFHAESTR", "GFGFNWPHAVR",
"GHFCLKPGCNFHAESTR", "GHFCLKPGCNFHAESTRGYR", "GNFSVKLMNR"), class = "factor")), .Names = c("Protein.name",
"X..Proteins", "X..PSMs", "Previous.5.amino.acids", "Sequence"
), class = "data.frame", row.names = c(NA, -6L))
Интересующий столбец в этом наборе данных - «Последовательность».В строке 2 этого столбца отсутствуют первые две буквы строки 1;в строке 3 последние три буквы строки 1 отсутствуют;в строке 4 отсутствуют первые семь и последние три буквы строки 1.
Строки 2, 3 и 4 отражают артефакты научного метода, который я использовал для генерации данных, и поэтому я хочуудалите эти записи.
Я хочу, чтобы R возвратил только одну из четырех строк, в идеале строку 1, и удалил остальные.R может сделать это, сначала найдя все строки с совпадающей строкой букв, а затем удалив такие строки, сохранив только одну.Например, в приведенном выше наборе данных GCNFHAESTR совпадает во всех четырех строках, поэтому я хочу, чтобы R возвращал мне только одну строку, в идеале - верхнюю.Но я не знаю, как это сделать.
Для дальнейшего уточнения, «Последовательность» имеет сотни строк с частично совпадающими записями, но совпадающие записи в этих строках отличаются от показанных в примере выше.Например, возможно, что строки нет.35 и 39 имеют следующие записи (строка 35: GNYTCAGCWPFK и строка 36: YTCAGCWPFK).Поскольку совпадающие записи в этих строках полностью отличаются от приведенных в примере выше, я не могу объявить строку заранее.Итак, я хочу придумать механизм, который позволяет мне обнаруживать все те строки, которые имеют частично совпадающие записи, а затем сохранять только одну из них, при этом удаляя другие.
Жду ответа от экспертов.
Спасибо!