Изменить очень большую таблицу 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

Пожалуйста помоги!

0 ответов

Другие вопросы по тегам