R에서 bray-curtis 차이점을 계산하는 방법


Bray-Curtis 차이점은 서로 다른 두 사이트 간의 차이점을 측정하는 방법입니다.

이는 생태학 및 생물학에서 두 지역에서 발견된 종의 측면에서 두 지역 간의 차이를 정량화하기 위해 자주 사용됩니다.

다음과 같이 계산됩니다.

BC ij = 1 – (2*C ij ) / (S i + S j )

금:

  • C ij : 각 현장에서 발견된 종의 최저값의 합.
  • S i : 사이트 i 에서 계수된 총 검체 수
  • S j : 사이트 j 에서 계수된 총 검체 수

Bray-Curtis 차이점은 항상 0과 1 사이입니다.

  • 0은 두 사이트에 차이점이 없음을 나타냅니다. 즉, 그들은 각 유형의 종을 정확히 동일한 수로 공유합니다.
  • 1은 두 사이트가 완전히 다르다는 것을 나타냅니다. 즉, 동일한 유형의 어떤 종도 공유하지 않습니다.

예를 들어, 식물학자가 두 곳의 다른 장소에 나가서 다섯 가지 식물 종(A, B, C, D, E)의 수를 세었다고 가정해 보겠습니다.

다음 표에는 그녀가 수집한 데이터가 요약되어 있습니다.

이 데이터를 사용하여 그녀는 Bray-Curtis 상이성을 다음과 같이 계산할 수 있습니다.

브레이-커티스의 차이

이 숫자를 Bray-Curtis 비유사성 공식에 통합하면 다음을 얻을 수 있습니다.

  • BC ij = 1 – (2*C ij ) / (S i + S j )
  • BC ij = 1 – (2*15) / (21 + 24)
  • 기원전 ij = 0.33

이 두 사이트 간의 Bray-Curtis 차이점은 0.33 입니다.

다음 예는 R에서 Bray-Curtis 비평사성을 계산하는 방법을 보여줍니다.

예: R에서 Bray-Curtis 차이점 계산

먼저, 데이터 값을 보관하기 위해 R에서 다음 데이터 프레임을 생성해 보겠습니다.

 #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

다음 코드를 사용하여 데이터 프레임의 두 행 사이의 Bray-Curtis 차이점을 계산할 수 있습니다.

 #calculate Bray–Curtis dissimilarity
sum( apply (df, 2, function (x) abs ( max (x)- min (x)))) / sum ( rowSums (df))

[1] 0.3333333

Bray-Curtis는 0.33 으로 다르게 나타났습니다.

이는 이전에 수동으로 계산한 값과 일치합니다.

참고 : 이 공식은 데이터 프레임의 각 행이 별도의 사이트를 나타내는 경우에만 작동합니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 유사성 측정항목을 계산하는 방법을 설명합니다.

R에서 Jaccard 유사성을 계산하는 방법
R에서 코사인 유사성을 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다