2017-09-15 1 views
1

다른 값의 양쪽 다른 값 (agreed)의 어느 쪽이든 비율 (+/-3.00%). 예를 들어검사 비율 I가 두 값 (<code>before</code> 및 <code>after</code>)를 가지고 <code>before</code> 및 <code>after</code> 간의 차이 (변화)가 3 중 어느 하나보다 작거나 같거나보다 크거나 같으면 확인하려는

: 값이 참 beforeafter와 동일한 수 있다는

--------------------------- 
| Agreed | Before | After | 
--------------------------- 
| 100 | 110 | 85 | (FALSE) 
--------------------------- 
| 350 | 300 | 480 | (FALSE) 
--------------------------- 
| 167 | 166 | 166 | (TRUE) 
--------------------------- 
| 200 | 220 | 206 | (TRUE) 
--------------------------- 

참고. 내가 확인하고자하는 것은 after 값이 agreed (+/-3.00%)의 3 % 양면인지 여부입니다.

어떻게 달성 할 수 있습니까?

답변

1

내가 나를 위해 잘 작동하는이 작업을 수행 할 수있는 방법을 알아 냈어 할 수 있습니다.

첫째, 나는 새 열 (percentage)에 afteragreed 사이의 차이의 비율을 저장 한 후, 나는 다음에 대해 그것을 확인하고 새 열 (threePercent)에 결과를 할당 :

df$threePercent <- ifelse(df$percentage >= 0.03 | df$percentage <= -0.03, "YES", "NO") 

이것은 나를 위해 완벽하게 작동합니다.

1

이 출력하면

> agreed = c(100,350,167) 
> before = c(110,300,166) 
> after = c(85, 480, 165) 
> 
> abs(after-before) 
[1] 25 180 1 
> abs(after-before)/agreed 
[1] 0.250000000 0.514285714 0.005988024 
> abs(after-before)/agreed<0.03 
[1] FALSE FALSE TRUE