R에서 map() 함수를 사용하는 방법(예제 포함)


R의 purrr 패키지에 있는 map() 함수를 사용하면 벡터나 목록의 각 요소에 함수를 적용하고 그에 따라 목록을 반환할 수 있습니다.

이 함수는 다음 기본 구문을 사용합니다.

지도(.x, .f)

금:

  • .x : 벡터 또는 목록
  • .f : 함수

다음 예에서는 다양한 시나리오에서 이 기능을 사용하는 방법을 보여줍니다.

예 1: map()을 사용하여 무작위 변수 생성

다음 코드는 map() 함수를 사용하여 표준 정규 분포를 따르는 5개의 값을 각각 포함하는 3개의 확률 변수를 생성하는 방법을 보여줍니다.

 library (purrr)

#definevector
data <- 1:3

#apply rnorm() function to each value in vector
data %>%
  map( function (x) rnorm(5, x))

[[1]]
[1] 0.0556774 1.8053082 2.6489861 2.2640136 1.1062672

[[2]]
[1] 1.450175 1.123048 3.413677 3.055304 2.713801

[[3]]
[1] 2.936732 2.157129 3.693738 2.994391 2.567040

원본 벡터의 각 요소에 대해 map() 함수는 rnorm() 함수를 적용하여 표준 정규 분포 에서 5개의 임의 값을 생성했습니다.

예 2: map()을 사용하여 각 값을 벡터로 변환

다음 코드는 map() 함수를 사용하여 벡터에 있는 각 값의 제곱을 계산하는 방법을 보여줍니다.

 library (purrr)

#definevector
data <- c(2, 4, 10, 15, 20)

#calculate square of each value in the vector
data %>%
  map( function (x) x^2)

[[1]]
[1] 4

[[2]]
[1] 16

[[3]]
[1] 100

[[4]]
[1] 225

[[5]]
[1] 400

원본 벡터의 각 요소에 대해 map() 함수는 각 값의 제곱을 계산하는 함수를 적용했습니다.

예제 3: map()을 사용하여 목록에 있는 각 벡터의 평균 계산

다음 코드는 map() 함수를 사용하여 목록에 있는 각 벡터의 평균 값을 계산하는 방법을 보여줍니다.

 library (purrr)

#define list of vectors
data <- list(c(1, 2, 3),
             c(4, 5, 6),
             c(7, 8, NA))

#calculate mean value of each vector in list
data %>%
  map(mean, na. rm = TRUE )

[[1]]
[1] 2

[[2]]
[1] 5

[[3]]
[1] 7.5

목록의 각 벡터에 대해 map() 함수는 평균값을 계산합니다.

결과에서 우리는 다음을 볼 수 있습니다:

  • 목록에 있는 첫 번째 벡터의 평균값은 2 입니다.
  • 목록에 있는 두 번째 벡터의 평균값은 5 입니다.
  • 목록에 있는 세 번째 벡터의 평균값은 7.5 입니다.

참고 : na.rm=TRUE 인수는 R에게 평균을 계산할 때 NA 값을 무시하도록 지시합니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 기능을 사용하는 방법을 설명합니다.

R에서 tapply() 함수를 사용하는 방법
R에서 Dim() 함수를 사용하는 방법
R에서 table() 함수를 사용하는 방법
R에서 sign() 함수를 사용하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다