Изменить очень большую таблицу OTU (численность) в широком и длинном формате - 400000 наблюдений
У меня очень большой стол OTU (изобилие). Существует более 100 образцов и 4000 наблюдений на выборку (4000 таксонов).
Пример таблицы OTU находится здесь:
#OTUID 1 2 3 4 5 6 7 8
OTU1 0 0 0 0 0 3 0 0
OTU2 0 0 0 0 0 0 13 0
OTU3 5 99 0 0 0 0 0 0
OTU4 0 0 0 0 0 0 0 0
OTU5 0 0 0 0 0 0 0 2
OTU6 0 0 19 0 9 236 59 2
OTU7 0 55 0 2 4 2 3 0
OTU8 0 44 10 5 0 0 7 0
OTU9 6 0 13 2 0 0 17 6
OTU10 0 100 0 0 0 3 0 0
OTU11 4 13 0 0 2 1 2 0
OTU12 0 0 0 0 0 101 1 0
Я хотел бы получить эту таблицу в длинном формате, чтобы я мог выполнить несколько парных тестов между образцами в другой таблице. Меня интересуют только данные подсчета, хотя, если бы у меня были образцы, они принадлежат двум и соответствующим OTU, я возьму их, но в этом нет необходимости. Данные должны выглядеть так:
COUNT OTUID SAMPLEID
0 OTU1 1
0 OTU2 1
5 OTU3 1
0 OTU4 1
0 OTU5 1
0 OTU6 1
0 OTU7 1
0 OTU8 1
6 OTU9 1
0 OTU10 1
4 OTU11 1
0 OTU12 1
0 OTU1 2
0 OTU2 2
99 OTU3 2
0 OTU4 2
Мой скрипт, кажется, работает, хотя я получаю сообщение об ошибке переменной NO id, он все еще выполняется. Если у кого-то есть идеи, как это исправить, я буду очень признателен.
library(reshape2)
test = read.csv("test_otu.csv", sep=",", row.names=1)
test2 <- melt(test)
No ID variables; using all as measure variables
test2
Пожалуйста помоги!