2 개의 변수를 기반으로 행의 순위를 매길 필요가 있으며 주위를 감쌀 수 없습니다. 아래두 변수에 기초한 순위
테스트 데이터 : 동일
df <- data.frame(A = c(12,35,55,7,6,NA,NA,NA,NA,NA), B = c(NA,12,25,53,12,2,66,45,69,43))
A B
12 NA
35 12
55 25
7 53
6 12
NA 2
NA 66
NA 45
NA 69
NA 43
I 제 3 변수를 계산하려면, C 때 A = NA!. A == NA, C == B 일 때 C 점수는 항상 A == NA 인 행이 A! = NA를 가진 행보다 우월하지 않아야합니다.
A가 5 개의 비 NA 값을 가지기 때문에 Max (A)는 max (C)와 max (B)가 같아야합니다. A == NA이고 B가 A! = NA 인 행보다 낫다면 A! = NA 행이 항상 최종 C 스코어에서 B 행보다 우수하다는 것을 확인하는 변환이 수행되어야합니다.
결과는 다음과 같이 보일 수 있습니다 :
A B C
55 25 1
35 12 2
12 NA 3
7 53 4
6 12 5
NA 69 6
NA 66 7
NA 45 8
NA 43 9
NA 2 10
를 지금까지 내가 얻을 수있는 가장 가까운
df$C <- ifelse(is.na(df$A), min(df$A, na.rm=T)/df$B, df$A)
이지만 == NA는, == 2 위를 기록하고 B를 이용하므로 때이 순위 상승 여력 거절 6 대신 B == 69
A B C
55 25 1
35 12 2
12 NA 3
7 53 4
6 12 5
NA 2 6
NA 43 7
NA 45 8
NA 66 9
NA 69 10
가중치를 사용할 수 있는지 잘 모르겠습니까?
모든 의견을 매우 높이 평가합니다. 감사!