A: 벡터에서 가장 가까운 값을 찾는 방법


다음 기본 구문을 사용하여 R의 두 벡터 요소 사이에서 가장 가까운 값을 찾을 수 있습니다.

 #define cut points
cuts <- c(-Inf, vector2[-1]-diff(vector2)/2, Inf)

#for each value in vector1, find closest value in vector2
cut(vector1, breaks=cuts, labels=vector2)

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: R의 벡터에서 가장 가까운 값 찾기

R에 다음 두 벡터가 있다고 가정합니다.

 #definevectors
vector1 <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
vector2 <- c(3, 5, 8, 11)

이제 첫 번째 벡터의 각 값에 대해 두 번째 벡터에서 가장 가까운 값을 찾고 싶다고 가정합니다.

이를 위해 다음 구문을 사용할 수 있습니다.

 #define cut points
cuts <- c(-Inf, vector2[-1]-diff(vector2)/2, Inf)

#for each value in vector1, find closest value in vector2
cut(vector1, breaks=cuts, labels=vector2)

 [1] 3 3 3 3 5 5 8 8 8 11

결과를 해석하는 방법은 다음과 같습니다.

  • 벡터1의 첫 번째 값(1)의 경우 벡터2에 가장 가까운 값은 3 입니다.
  • 벡터1의 두 번째 값(2)의 경우 벡터2에 가장 가까운 값은 3 입니다.
  • 벡터1의 세 번째 값(3)의 경우 벡터2에 가장 가까운 값은 3 입니다.
  • 벡터1의 네 번째 값(4)의 경우 벡터2에 가장 가까운 값은 3 입니다.
  • 벡터1의 다섯 번째 값(5)의 경우 벡터2에 가장 가까운 값은 5 입니다.

등등.

참고 : 이 방법은 두 번째 벡터의 값이 엄격하게 증가한다고 가정합니다. 아직 정렬하지 않았다면 두 번째 벡터를 먼저 정렬해야 할 수도 있습니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 그룹당 평균을 계산하는 방법
R의 열을 평균하는 방법
R의 특정 열을 합산하는 방법

의견을 추가하다

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