비디오: r/EntitledParents | "YOU LIVE IN A $1,000,000 MANSION BUT YOU CAN'T AFFORD WI-FI!?" 2024
If 문은 프로그래밍 언어 에서처럼 R에서 매우 유용 할 수 있습니다. 종종 선택을하고 특정 가치에 따라 행동을 취하기를 원합니다.
코드에서 선택 사항을 정의하는 것은 매우 간단합니다.이 조건이 참이면 특정 작업을 수행하십시오. 많은 프로그래밍 언어를 사용하면 다음과 같은 단어로 정확히 수행 할 수 있습니다. if … then. R을 사용하면 훨씬 쉽습니다. , 라는 단어를 삭제하고 if 문에서 선택 사항을 지정할 수 있습니다.
R의 if 문은 세 개의 요소로 구성됩니다.
-
키워드 if
-
괄호 사이의 단일 논리 값 (또는 단일 논리 값을 유도하는 표현식)
-
A 논리 값이 TRUE 일 때 실행되어야하는 중괄호 사이의 코드 블록
다음은 매우 작은 함수 인 priceCalculator ()입니다.이 함수는 고객에 대해 수행 한 작업 시간을 기준으로 고객에게 부과하는 가격을 계산합니다. 함수는 시간 수 (시간)와 시간당 가격 (pph)을 입력으로 사용해야합니다. priceCalculator () 함수는 다음과 같을 수 있습니다.
priceCalculator <- function (hours, pph = 40) {net. price <- hours * pph round (net price)}
이 코드의 기능은 다음과 같습니다.
-
function 키워드를 사용하여 함수를 정의합니다.
-
중괄호 사이의 모든 것이 함수의 본문입니다 (8 장 참조).
-
괄호 사이에는 인수 (hours) (기본값 없음)와 pph (시간당 $ 40 기본값)를 지정합니다.
-
시간당 판매 가격을 곱하여 순 가격을 계산합니다.
-
함수 본문에있는 마지막 명령문의 결과가 반환 값입니다. 이 경우 총액은 달러로 반올림됩니다.
인수 pph를 삭제하고 시간을 40으로 곱하면됩니다.하지만 이는 예를 들어 동료가 다른 시간당 요금을 사용하는 경우 함수 본문의 값을 변경해야만합니다. 그것을 사용할 수 있어야합니다. 변경할 수있는 값에 대해 기본값을 사용하여 인수를 사용하는 것이 좋습니다. 이렇게하면 함수가 더 융통성있게 사용할 수 있습니다.
이제 많은 일을하는 큰 고객이 있다고 상상해보십시오. 고객을 만족 시키려면 100 시간 이상의 근무 시간이 소요되는 주문에 대해 시간당 가격을 10 % 줄이십시오. 따라서 근무 시간 수가 100보다 큰 경우 가격에 0을 곱하여 새 가격을 계산할 수 있습니다. 9.
코드에 다음과 같이 거의 그대로 쓸 수 있습니다.
priceCalculator <- function 시간, pph = 40) {net. 가격 100) {net. 가격 <- 그물.price * 0. 9 round (net price)}
이 코드를 스크립트 파일에 복사하고 콘솔에 보내서 사용 가능하도록 만듭니다. >> priceCalculator (hours = 55) [1] 2200> priceCalculator (hours = 110) [1]이 함수를 사용하면 시간이 100보다 큰 경우에만 감소가 발생합니다. 3960
이 구문은 if 문을 지정할 수있는 가장 일반적인 방법입니다. 그러나 코드 블록에 단 한 줄의 코드 만 있으면 주변에 중괄호를 넣을 필요가 없습니다. 다음 줄을 사용하여 함수에서 완전한 if 문을 변경할 수 있습니다.
if (hours> 100) net. 가격 <- 그물. price * 0. 9
재미와 같은 함수에 대한 도움말을 얻는 일반적인 방법. name (? fun. name)이 작동하지 않습니다. if에 대한 내장 도움말에 액세스하려면 함수 이름을 인용해야합니다. 작은 따옴표, 큰 따옴표 또는 역 따옴표를 사용할 수 있습니다. 다음 문장은 각각 다음과 같은 경우 도움말 페이지로 이동합니다:
? 'if'? "if"? 'if'