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:

Diferença Bray-Curtis

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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *