Нахождение 97% кластеров сходства в кадре данных - PullRequest
0 голосов
/ 10 апреля 2020

У меня большой фрейм данных, и я хочу найти кластеры, которые различают guish при разнице в 3%. Это означает, что в одном кластере элементы имеют сходство 97%. Я попытался справиться с этим с помощью функции otu(x, k , threshold , method,residues = NULL, gap = "-", ...), потому что операционные таксономические единицы c в исследованиях микробиомов в значительной степени совпадают. Мои данные не являются ни последовательностью ДНК, ни аминокислотной последовательностью, и я не знаю, как определить аргумент residue. Мой фрейм данных выглядит так (но в реальной жизни он намного больше)

library(tidyverse)
library(OTUbase)    #for OTU
library(ape)        #for OTU
library(kmer)       #for kmeans
library(fst)        #compressing data

b <- data.frame(rows=c("row1","row2","row3"),col1=c("0.478","45","-0.45"),col2=c("0.4856","48",0))
  rows  col1   col2
1 row1 0.478 0.4856
2 row2    45     48
3 row3 -0.45      0
otu(unique(b),k = 3, threshold = 0.97, method = "central",nstart = 20)
Fehler in kcount(x, k = k, residues = residues, gap = gap, named = FALSE) : Unable to calculate distance matrix 
for large k and large alphabet size. 
If residues are amino acids consider converting to AAbin object for compression

Строки должны быть похожи на разные последовательности ДНК, а столбцы - это основы. Таким образом, идентификаторы кластеров должны ссылаться на столбцы, а сами элементы являются заданными c строками. Я думаю, что ошибка происходит, потому что я не указал residue =. Я уже пытался сжать B с unique и преобразовал его в файл FST. Но возникает та же ошибка.

Как я могу получить 97% идентификаторов кластеров фрейма данных? Как использовать otu() здесь?

...