차례:
비디오: [HelloJany] 1강 R과 R스튜디오 (4) 스크립트 실행 및 도움말 2024
스크립트에서 함수로 이동하는 데는 많은 노력이 필요하지 않습니다. R에서 함수는 본질적으로 중단없이 연속적으로 실행되는 코드 조각입니다. 이런 식으로 함수는 source () 함수를 사용하여 실행되는 스크립트와 많이 다르지 않습니다.
하지만 함수는 스크립트에 비해 두 가지 장점이 있습니다.
-
함수는 변수 입력과 함께 작동 할 수 있으므로 다른 데이터와 함께 사용합니다.
-
함수는 출력을 객체로 반환하므로 해당 함수의 결과로 작업 할 수 있습니다.
수영하는 법을 익히는 가장 좋은 방법은 깊은 곳에서 뛰는 것입니다. 그래서 다음에 R이 얼마나 쉬운지를 알기위한 함수를 작성하십시오.
스크립트 만들기
소수를 표현하고자한다고 가정하십시오. 예를 들어, 1 / 2)를 백분율로 표시하고 한 자리 10 자리로 반올림합니다. 이를 달성하는 방법은 다음과 같습니다.
--
소수점 이하 자릿수에 100을 곱합니다.
-
결과를 소수점 첫째 자리로 반올림합니다.
round () 함수를 사용하여이를 수행 할 수 있습니다.
-
반올림 한 숫자 뒤에 백분율 기호를 붙여 넣습니다.
paste () 함수는이 작업을 수행하기 위해 제공됩니다.
-
결과를 인쇄하십시오.
print () 함수는 이것을합니다.
이 단계를 R 용 작은 스크립트로 쉽게 변환 할 수 있습니다. 따라서 편집기에서 새 스크립트 파일을 열고 다음 코드를 입력하십시오.
이 스크립트를 스크립트 파일로 저장하는 경우 (예: pastePercent). R - 이제 다음 명령을 사용하여 콘솔에서이 스크립트를 호출 할 수 있습니다. >> source ("pastePercent. R") [1] "45. 8 % ""166. 5 % ""83. 1 % "스크립트를 호출 할 때마다 동일한 세 개의 숫자를보고 싶다면 훌륭하게 작동합니다. 그러나 매번 스크립트를 변경해야하기 때문에 다른 데이터 용 스크립트를 사용하는 것은 다소 불편할 수 있습니다.
대부분의 편집기에서 간단한 클릭 한 번으로 스크립트를 <원본>
할 수도 있습니다 (전체 스크립트 파일을 R 콘솔로 전송). RStudio에서는 소스 버튼을 클릭하거나 에코가없는 경우에는 Ctrl + Shift + S를, 에코로 소스하려면 Ctrl + Shift + Enter를 눌러이 작업을 수행합니다.
스크립트 변환 이 스크립트를 함수로 만들려면 몇 가지 작업을 수행해야합니다. 이 스크립트를 원시 숫자 재료를 사용하고 수학자가 갈망하는 반짝이는 비율로 연마하는 작은 공장으로 상상해보십시오. 첫째, 공장 건물을 건설해야합니다. 사람들이 자신의 번호를 어디서 보낼지 알 수 있도록 주소가있는 것이 바람직합니다.그런 다음 원시 게이트 번호를 가져올 수 있도록 정문을 설치해야합니다. 다음으로 생산 라인을 만들어 해당 번호를 변환합니다. 마지막으로, 백 게이트를 설치하여 반짝이는 비율을 세계로 보낼 수 있습니다.
팩토리를 빌드하려면 스크립트를 다음 코드로 변경하십시오.
addPercent <- function (x) {percent <- round (x * 100, digits = 1) result <- paste (percent, "%, sep = "") return (result)}
이 작은 공장을 구성하는 다양한 부분을 자세히 살펴보십시오. 함수에는 다음 요소가 있습니다.
키워드 함수에는 항상 괄호가 와야합니다. R은 다음에 오는 것이 함수라는 것을 알려줍니다.
함수 뒤의 괄호는 함수의
인수 목록 인
-
또는 정문을 형성합니다. 괄호 사이에는 함수에 대한 인수가 제공됩니다. 이 경우 x라는 인수가 하나뿐입니다.
-
중괄호 {}는 함수의 벽으로 볼 수 있습니다. 중괄호 사이의 모든 것은 어셈블리 라인의 일부이거나 함수의 본문 입니다.
-
return () 문은 함수의 백 게이트입니다. 괄호 사이에 넣은 객체는 함수 내부에서 작업 영역으로 반환됩니다. 괄호 사이에 하나의 객체 만 넣을 수 있습니다. 이 모든 것을 합치면 완전한 기능을 갖지만 R은 아직 어디에서 찾을 수 있는지 알지 못합니다. 따라서 할당 연산자 <-를 사용하여이 전체 함수를 addPercent라는 객체에 넣습니다. R이 변환을 위해 번호를 보낼 수있는 주소입니다. 이제이 함수는 멋진 이름을 가지며 사용할 준비가되었습니다. 인수 목록에서 x는 숫자 벡터 여야 함을 지정할 수 없습니다. 예를 들어 문자 벡터를 x의 값으로 사용하려고하면 본문 내부의 곱셈은 문자에 숫자를 곱할 수 없기 때문에 오류가 발생합니다. 인수로 주어진 객체 유형을 제어하려면 함수 본문에서 수동으로 수행해야합니다.