Como calcular a dissimilaridade de bray-curtis em r
A dissimilaridade de Bray-Curtis é uma forma de medir a dissimilaridade entre dois locais diferentes.
É frequentemente usado em ecologia e biologia para quantificar a diferença entre dois locais em termos das espécies encontradas nesses locais.
É calculado da seguinte forma:
BC ij = 1 – (2*C ij ) / (S i + S j )
Ouro:
- Cij : Soma dos menores valores das espécies encontradas em cada local.
- S i : O número total de espécimes contados no local i
- S j : O número total de espécimes contados no local j
A dissimilaridade de Bray-Curtis está sempre entre 0 e 1 onde:
- 0 indica que dois sites não têm diferença. Em outras palavras, eles compartilham exatamente o mesmo número de cada tipo de espécie.
- 1 indica que dois sites têm total dissimilaridade. Em outras palavras, eles não compartilham nenhuma espécie do mesmo tipo.
Por exemplo, suponha que um botânico saia e conte o número de cinco espécies de plantas diferentes (A, B, C, D e E) em dois locais diferentes.
A tabela a seguir resume os dados que ela coletou:
Usando esses dados, ela pode calcular a dissimilaridade de Bray-Curtis da seguinte forma:
Ao integrar esses números na fórmula de dissimilaridade de Bray-Curtis, obtemos:
- BC ij = 1 – (2*C ij ) / (S i + S j )
- BCij = 1 – (2*15) / (21 + 24)
- BCij = 0,33
A dissimilaridade de Bray-Curtis entre esses dois locais é de 0,33 .
O exemplo a seguir mostra como calcular a dissimilaridade de Bray-Curtis em R.
Exemplo: calculando a dissimilaridade de Bray-Curtis em R
Primeiro, vamos criar o seguinte quadro de dados em R para armazenar nossos valores de dados:
#create data frame df <- data. frame (A=c(4, 3), B=c(0, 6), C=c(2, 0), D=c(7, 4), E=c(8, 11)) #view data frame df A B C D E 1 4 0 2 7 8 2 3 6 0 4 11
Podemos usar o seguinte código para calcular a dissimilaridade de Bray-Curtis entre as duas linhas no quadro de dados:
#calculate Bray–Curtis dissimilarity sum( apply (df, 2, function (x) abs ( max (x)- min (x)))) / sum ( rowSums (df)) [1] 0.3333333
O Bray-Curtis acaba sendo diferente de 0,33 .
Isso corresponde ao valor que calculamos manualmente anteriormente.
Nota : Esta fórmula só funcionará se cada linha no quadro de dados representar um site separado.
Recursos adicionais
Os tutoriais a seguir explicam como calcular outras métricas de similaridade em R:
Como calcular a similaridade de Jaccard em R
Como calcular a similaridade de cosseno em R