R에서 여러 인수로 함수 적용

Manav Narula 2021년2월9일
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 Narula
Manav Narula avatar Manav Narula avatar

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

관련 문장 - R Function