본문 바로가기
R 주제/R 기초 및 통계 강의

[R강의] 150. 데이터프레임의 열 방향으로 함수 적용하기 (apply, sapply, lapply)

by 만다린망고 2023. 4. 3.
반응형

데이터프레임의 열 방향으로 함수를 적용하는 방법은 무려 세가지가 있습니다. apply,sapply,lapply 입니다. 이들의 차이점은 결과를 출력하는 방식입니다. apply와 sapply 는 벡터나 행렬 형태로 결과로 출력하고 laaply 는 리스트 형태로 결과를 출력합니다. 복잡해 보이지만 예제를 통해 쉽게 이해할 수 있습니다. 먼저 데이터프레임을 하나 정의해봅시다. 

Math=c(94,82,45,55,67)
English=c(88,86,56,90,50)
Science=c(87,76,65,43,55)

df=data.frame(Math,English,Science)

> df
  Math English Science
1   94      88      87
2   82      86      76
3   45      56      65
4   55      90      43
5   67      50      55

 

1. apply 함수

apply 함수는 아래와 같은 형식으로 사용합니다. 

apply(데이터프레임, 방향, 함수)


방향은 2를 입력해야 열 방향으로 함수가 적용됩니다. apply 함수로 각 열의 평균을 구해봅시다. 

> apply(df,2,mean)
   Math English Science 
   68.6    74.0    65.2


벡터 형식으로 결과가 반환되는 것을 알 수 있습니다. 

 

2. sapply 함수

sapply 함수는 방향을 입력할 필요 없습니다. 아래와 같이 사용합니다. 

> sapply(df,mean)
   Math English Science 
   68.6    74.0    65.2


벡터 형식으로 결과가 반환됩니다. 

 

3. lapply 함수

lapply 함수는 아래와 같이 사용합니다. 

> lapply(df,mean)
$Math
[1] 68.6

$English
[1] 74

$Science
[1] 65.2


리스트 형식으로 결과가 반환됩니다. 

 

 

 

반응형

댓글