mdply()

    m{adl_}ply( ), 즉 maply( ), mdply( ), mlply( ), m_ply( ) 함수는 데이터 프레임 또는 배열을 인자로 받아 각 컬럼을 주어진 함수에 적용하고 그 실행 결과들을 조합한다. 여기서는 이들 중 mdply( )에 대해서 살펴본다.

    표 5-6 mdply( ) 함수

    plyr::mdply : 배열이나 데이터 프레임에 저장된 인자로 함수를 호출하고 결과를 데이터 프레임으로 반환한다.

    plyr::mdply(
      .data, # 인자로 사용할 행렬 또는 데이터 프레임
      .fun   # 호출할 함수
    )

    반환 값은 데이터 프레임이다.

    예를 들어, 평균과 표준 편차를 저장한 데이터 프레임을 가정해보자.

    > (x <- data.frame(mean=1:5, sd=1:5))
      mean sd
    1    1  1
    2    2  2
    3    3  3
    4    4  4
    5    5  5
    

    mdply( )를 사용하면 위 데이터 프레임의 각 행을 rnorm( )3

    함수의 mean, sd에 대한 인자로 넘겨주어 실행한 뒤 그 결과를 데이터 프레임으로 모을 수 있다. 다음 예에서는 각 mean, sd마다 2개씩 난수를 발생시켰다.

    > mdply(x, rnorm, n=2)
      mean sd         V1        V2
    1    1  1  0.8397891 0.5390922
    2    2  2  4.9274472 6.5302294
    3    3  3  5.2031884 1.9018554
    4    4  4  7.5995477 5.0228909
    5    5  5 14.2004666 5.1076554
    

    3 ‘4.4.5 mapply( )’에서 설명한 함수로 rnorm(n, mean, sd)는 평균이 mean이고 표준 편차가 sd인 n개의 난수를 발생시키는 함수다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.