logo

R의 apply(), lapply(), sapply() 및 tapply()

이번 글에서는 Apply(), lapply(), sapply(), tapply() 함수에 대해 알아보겠습니다. R 프로그래밍 언어.

apply() 컬렉션은 R 필수 패키지의 일부입니다. 이 함수 계열은 특정 데이터 프레임, 목록 또는 벡터에 특정 함수를 적용하고 사용하는 함수에 따라 결과를 목록 또는 벡터로 반환하는 데 도움이 됩니다. Apply() 함수 계열에는 다음과 같은 네 가지 유형의 함수가 있습니다.



적용() 함수

apply() 함수를 사용하면 행렬이나 데이터 프레임의 행이나 열에 함수를 적용할 수 있습니다. 이 함수는 함수와 함께 행렬 또는 데이터 프레임을 인수로 사용하고 행 또는 열별로 적용해야 하는지 여부를 결정하고 결과를 벡터 또는 배열 또는 얻은 값 목록 형식으로 반환합니다.

통사론: 적용( x, 여백, 함수 )

매개변수:



    x: 행렬을 포함한 입력 배열을 결정합니다. margin: 마진이 1이면 행 전체에 함수가 적용되고, 마진이 2이면 열 전체에 적용됩니다. 기능: 입력 데이터에 적용할 기능을 결정합니다.

예:

다음은 행과 열을 따라 apply() 함수를 사용하는 방법을 보여주는 기본 예입니다.

아르 자형



DS에 스택




# create sample data> sample_matrix <->matrix>(C<-(1:10),nrow=3, ncol=10)> > print>(>'sample matrix:'>)> sample_matrix> > # Use apply() function across row to find sum> print>(>'sum across rows:'>)> apply>( sample_matrix, 1, sum)> > # use apply() function across column to find mean> print>(>'mean across columns:'>)> apply>( sample_matrix, 2, mean)>

>

>

산출:

lapply() 함수

lapply() 함수는 목록 객체에 함수를 적용하는 데 도움이 되며 동일한 길이의 목록 객체를 반환합니다. R 언어의 lapply() 함수는 목록, 벡터 또는 데이터 프레임을 입력으로 사용하고 목록 개체 형식으로 출력을 제공합니다. lapply() 함수는 목록의 모든 요소에 특정 작업을 적용하므로 MARGIN이 필요하지 않습니다.

통사론: lapply( x, 재미 )

매개변수:

    x: 입력 벡터 또는 객체를 결정합니다. fun: 입력 데이터에 적용할 함수를 결정합니다.

예:

다음은 lapply() 함수를 벡터에 사용하는 방법을 보여주는 기본 예입니다.

아르 자형




# create sample data> names <->c>(>'priyank'>,>'abhiraj'>,>'pawananjani'>,> >'sudhanshu'>,>'devraj'>)> print>(>'original data:'>)> names> > # apply lapply() function> print>(>'data after lapply():'>)> lapply>(names, toupper)>

>

>

산출:

sapply() 함수

sapply() 함수는 목록, 벡터 또는 데이터 프레임에 함수를 적용하는 데 도움이 되며 동일한 길이의 배열 또는 행렬 객체를 반환합니다. R 언어의 sapply() 함수는 목록, 벡터 또는 데이터 프레임을 입력으로 사용하고 배열 또는 행렬 개체 형식으로 출력을 제공합니다. sapply() 함수는 객체의 모든 요소에 특정 작업을 적용하므로 MARGIN이 필요하지 않습니다. 반환 객체의 유형만 다를 뿐 lapply()와 동일합니다.

통사론: sapply( x, 재미 )

매개변수:

    x: 입력 벡터 또는 객체를 결정합니다. fun: 입력 데이터에 적용할 함수를 결정합니다.

예:

다음은 벡터에 sapply() 함수를 사용하는 방법을 보여주는 기본 예입니다.

아르 자형




# create sample data> sample_data<->data.frame>( x=>c>(1,2,3,4,5,6),> >y=>c>(3,2,4,2,34,5))> print>(>'original data:'>)> sample_data> > # apply sapply() function> print>(>'data after sapply():'>)> sapply>(sample_data, max)>

>

>

산출:

tapply() 함수

tapply()는 통계 측정값(평균, 중앙값, 최소값, 최대값 등)을 계산하거나 벡터의 각 요인 변수에 대해 자체 작성된 함수 연산을 계산하는 데 도움이 됩니다. 이는 벡터의 하위 집합을 만든 다음 각 하위 집합에 일부 기능을 적용하는 데 도움이 됩니다. 예를 들어, 조직에서 직원의 급여 데이터가 있고 남성과 여성의 평균 급여를 찾으려면 남성과 여성을 요인 변수 성별로 하는 tapply() 함수를 사용할 수 있습니다.

통사론: tapply( x, 인덱스, 재미 )

매개변수:

    x: 입력 벡터 또는 객체를 결정합니다. index: 데이터를 구별하는 데 도움이 되는 요소 벡터를 결정합니다. fun: 입력 데이터에 적용할 함수를 결정합니다.

예:

다음은 tidyverse 패키지 라이브러리에서 제공하는 다이아몬드 데이터세트에서 tapply() 함수를 사용하는 방법을 보여주는 기본 예제입니다.

아르 자형




# load library tidyverse> library>(tidyverse)> > # print head of diamonds dataset> print>(>' Head of data:'>)> head>(diamonds)> > # apply tapply function to get average price by cut> print>(>'Average price for each cut of diamond:'>)> tapply>(diamonds$price, diamonds$cut, mean)>

모니터 화면 크기 확인하는 방법

>

>

산출: