Estou trabalhando em um trecho de código R para calcular a diversidade em um conjunto de dados de taxonomias de fungos. O tutorial que estou seguindo tem um trecho de código que soma cada linha, o que não está funcionando porque a primeira coluna (que exibe os números da OTU) não é numérica, mas sim de caracteres. Aqui está o trecho de código:
# make relative abundances
dat_relab = as.data.frame(sapply(dat_clean, FUN = function(x){x / sum(x)}))
rownames(dat_relab) = rownames(dat_clean)
# Remove low abundant ASVs, i.e. for which total relative abundance is lower than 0.01%
dat_relab$relab = rowSums(dat_relab) # adds column with total number of reads per ASV
keep01 = which(dat_relab$relab > 0.0001) # selects which ASVs fit the cut-off
dat_relab01 = dat_relab[keep01, -26] # outputs filtered table, and removes added column with number reads
# Select the ASVs with relative abundance higher than 0.01% from the ASV table with read number for the subsequent analysis
dat_clean2 = dat_clean[rownames(dat_relab01), colnames(dat_relab01)]
O código para na 2ª linha e fornece o seguinte erro: Erro em sum(x): 'tipo' (caractere) de argumento inválido
Eu entendo logicamente qual é o problema aqui; a primeira coluna dos dados não é numérica e não será somada. Meu problema é entender como corrigir isso e por que não está dando errado no tutorial (que tem os dados formatados da mesma forma).