본 포스팅은 R을 이용한 데이터 처리&분석 실무 (서민구 저)을 읽고 복습하는 차원에서 올리는 것 입니다.
R에는 벡터, 행렬 또는 데이터 프레임에 임의의 함수를 적용한 결과를 얻기 위한 apply 계열 함수가 있다. 이 함수들은 데이터 전체에 함수를 한 번에 적용하는 벡터 연산을 수행하므로 속도가 빠르다.
종류로는 apply, lapply, sapply, tapply, mapply가 있다.
함수 | 설명 | 특징 |
---|---|---|
apply() | 배열 또는 행렬에 주어진 함수를 적용한 뒤 그 결과를 벡터, 배열 또는 리스트로 반환 | 배열 또는 행렬에 적용 |
lapply() | 벡터, 리스트 또는 표현식에 함수를 적용하여 그 결과를 리스트로 반환 | 결과가 리스트 |
sapply() | lapply와 유사하지만 결과를 벡터, 행렬 또는 배열로 반환 | 결과가 벡터, 행렬 또는 배열 |
tapply() | 벡터에 있는 데이터를 특정 기준에 따라 그룹으로 묶은 뒤 각 그룹마다 주어진 함수를 적용하고 그 결과를 반환 | 데이터를 그룹으로 묶은 뒤 함수를 적용 |
mapply() | tapply의 확장된 버전으로, 여러 개의 벡터 또는 리스트를 인자로 받아 함수에 각 데이터의 첫째 요소들을 적용한 결과, 둘째요소들을 적용한 결과, 셋째 요소들을 적용한 결과 등을 반환 | 여러 데이터를 함수의 인자로 적용 |
-apply(
x, #배열 또는 행력
MARGIN, # 함수를 적용하는 방향, 1은 행 방향, 2는 열방향
FUN # 적용할 함수
)
-lapply(
x, # 벡터, 리스트, 표현식 또는 데이터 프레임
FUN # 적용할 함수
... # 추가할 인자, 이 인자들은 FUN에 전달된다.
)
-sapply(
x, # 벡터, 리스트, 표현식 또는 데이터 프레임
FUN, # 적용할 함수
... # 추가할 인자, 이 인자들은 FUN에 전달된다.
)
-tapply(
x, # 벡터
index, # 데이터를 그룹으로 묶을 색인, 팩터를 지정해야 하며 팩터가 아닌 ` 타입이 지정되면 팩터로 형 변환된다.
FUN # 각 그룹마다 적용할 함수
... # 추가 인자
)
-mapply(
FUN # 실행할 함수
... # 적용할 인자
)