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에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.