R에서 여러 인수로 함수 적용
함수는 모든 프로그래밍 언어에서 필수적입니다. 함수는 프로그래밍에서 특정 작업을 수행하기 위해 호출 할 수있는 코드 블록입니다.
R에는 내장 함수와 사용자 정의 함수가 있습니다. 하나 또는 여러 개의 인수가있는 목록이나 벡터에 함수를 직접 적용 할 수도 있습니다.
이 튜토리얼에서 우리는 다음 벡터와 함수로 작업 할 것입니다.
f1 <- function(v1,v2){
v1+v2
}
vec1 <- c(1,5,9)
vec2 <- c(2,7,6)
이 함수는 비교적 간단합니다. 두 개의 요소 만 추가하고 각각 세 개의 요소를 가진 두 개의 벡터를 가지고 있습니다.
이 튜토리얼에서는sapply()
,lapply()
및mapply()
함수를 사용하여 전체 벡터에 함수를 적용하고 동일한 매개 변수에 여러 매개 변수를 전달하고 매개 변수로 함수에 벡터.
주어진 벡터 나리스트에 함수를 적용하고 싶은 상황에서는lapply()
또는sapply()
를 사용할 수 있습니다.
lapply()
함수는 최종 출력으로 목록을 반환합니다. 예를 들면 :
lapply(vec1,f1,5)
[[1]]
[1] 6
[[2]]
[1] 10
[[3]]
[1] 14
typeof(lapply(vec1,f1,5))
[1] "list"
보시다시피f1
함수를 vec1에 전달하고 또 다른 인수 5를 전달합니다.이 함수는 두 개의 인수를 사용하므로 모든 요소에 5를 더합니다.
sapply()
는lapply()
함수와 동일한 기능을 수행하지만 출력을 단순화하고 결과가 반드시 목록이 아니기 때문에 둘 중 더 효율적인 것으로 간주됩니다.
다음 코드 스 니펫은 방법을 보여줍니다.
sapply(vec1,f1,5)
[1] 6 10 14
typeof(sapply(vec1,f1,5))
[1] "double"
사용 가능한 또 다른 흥미로운 함수는mapply()
입니다. 인수로 전달되는 벡터에 함수를 적용합니다. 이 함수는 벡터의 첫 번째 요소, 두 번째 요소 등에 적용됩니다.
mapply(f1,vec1,vec2)
[1] 3 12 15
mapply()
함수를 사용하면 동일한 위치에있는 요소의 합계를 반환하므로 벡터를 여러 인수로 함수에 전달할 수 있습니다.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn