В настоящее время я работаю над геномными данными, которые содержат начальную и конечную позиции хромосомы. Я хочу определить область генома, которая перекрывается с другой областью, и свернуть их в новую область генома.
Хотя я могу определить, какие области перекрываются пакетом GenomicRanges, но он возвращает меня к данным, которые мне нужно отфильтровать. Что я хочу, чтобы удалить строку, данные которой в столбце B не в столбце A
data<- read.csv(textConnection(
"index,queryhits, subjecthits
1, 1, 530,
2, 2, 545,
3, 2, 799,
4, 2, 93,
5, 3, 415,
6, 4, 745,
7, 545,799,
8, 545,93,
9, 545,415,
10, 545,745,
"))
Значение в столбце subjecthit не должно быть в столбце queryhit. Например, в строке № 2 столбец queryhit равен 2, а столбец subjecthits равен 545. Это означает, что 545 сгруппировано с номером 2.
Тем не менее, значение в queryhit может быть 545, которое я не хочу снова считать, почему я хочу удалить строку, содержащую значение 545 в столбце queryhits
Ожидаемый результат составляет
index queryhits subjecthits
1 1 530
2 2 545
3 2 799
4 2 93
5 3 415
6 4 745
Мои реальные данные составляют около 20000 строк, поэтому я хочу получить уникальное число в столбце queryhit и subjecthits.
Спасибо за любую помощь или предложение