Во-первых, вам нужно объединить несколько строк, потому что, если у вас есть комбинация уникальных sample_id
и уникальных taxon_id
, которые повторяются дважды, вы не можете иметь уникальное имя строки и уникальное имя в конечном выводе.
Я выдвинул гипотезу для суммирования значений уникального сочетания выборки-таксона (с функцией group_by()
и summarise()
библиотеки dplyr ).
Затем, поскольку я уверен, что у меня есть уникальные комбинации образцов-таксонов, я использовал функцию spread()
из библиотеки tidyr , чтобы преобразовать столбец taxon-id
в столбцы.
library(dplyr)
library(tidyr)
data.frame(
sample_id = rep('SRX14', 4),
abundance = c(5, 0, 645, 1042),
taxon_id = c('TACGG', 'AACGT', 'TACGG', 'TACGA')
) %>%
group_by(sample_id, taxon_id) %>%
summarise(abundance = sum(abundance)) %>%
spread(key = taxon_id, value = abundance)
# sample_id AACGT TACGA TACGG
# <fct> <dbl> <dbl> <dbl>
# 1 SRX14 0 1042 650