비디오: r/EntitledParents | "YOU LIVE IN A $1,000,000 MANSION BUT YOU CAN'T AFFORD WI-FI!?" 2024
벡터화 된 함수는 R의 매우 유용한 기능이지만 다른 언어에 익숙한 프로그래머는 처음에는이 개념에 문제가있는 경우가 많습니다. vectorized 함수는 단일 값뿐만 아니라 동시에 전체 값 벡터에서 작동합니다.
프로그래머로서의 자연스러운 반사 작용은 벡터의 모든 값을 반복하고 함수를 적용하는 것이지만 벡터화는 불필요하게 만듭니다. 믿음: R에서 벡터 라이 제이션을 사용하기 시작하면 코드를 단순화하는 데 도움이됩니다.
벡터화 된 함수를 사용하려면 벡터를 만들어야합니다. Concatenate 를 나타내는 c () 함수를 사용하면됩니다. 실제 값은 쉼표로 구분됩니다.
예를 들면 다음과 같습니다. 할머니가 친구 인 제랄딘과 농구를하고 각 게임에서 할머니의 바구니 수를 유지한다고 가정합니다. 6 경기가 끝나면 올 시즌까지 할머니가 몇 장의 바구니를 만들었는지 알고 싶습니다. 이 숫자들을 벡터처럼 넣을 수 있습니다:
할머니가 만든 바구니의 총 수를 찾으려면 다음을 입력하십시오: >> sum (할머니의 바구니) [1] 38
벡터 번호를 숫자로 이동하여 이전 숫자의 합계에 새로운 숫자를 추가하여 동일한 결과를 얻지 만 그 방법은 더 많은 코드를 작성해야하며 계산하는 데 시간이 오래 걸립니다. 당신은 단지 6 개의 숫자로 그것을 알아 채지 못할 것입니다, 그러나 그것들의 수천을 합쳐야 할 때 차이가 명백 할 것입니다.
이 벡터화 예제에서 함수는 전체 벡터를 사용하여 하나의 결과를 제공합니다. 물론이 예제는 자명하지만 (sum ()이 같은 목표를 달성했다는 것을 짐작할 수 있습니다), R의 다른 함수의 경우 벡터화가 덜 명확해질 수 있습니다.
벡터화 된 함수의 덜 분명한 예는 paste () 함수입니다. 패밀리 멤버의 이름을 가진 벡터를 만들면 paste ()는 다음 예제와 같이 한 명령으로 모든 패스트에 성을 추가 할 수 있습니다. >> firstnames lastname paste (firstnames, lastname) [1] "Joris Meys" "Carolien Meys" "Koen Meys"R은 벡터 firstnames를 취한 다음 lastname을 각 값에 붙여 넣습니다. 얼마나 시원합니까? 사실, R은 두 벡터를 결합합니다. 두 번째 벡터 (이 경우 lastname)는 길이가 하나뿐입니다. 이 값은 필요한만큼 paste () 함수에 의해
999 재활용됩니다.
R은 두 개의 더 긴 벡터를 줄 수 있고 R은 다음과 같이 요소별로 요소를 결합합니다. >> authors lastnames paste (작성자, 성) [1] "Andrie de Vries" "Joris Meys" > 복잡한 코드가 필요하지 않습니다.벡터를 만들어 함수에 넣기 만하면됩니다.