반응형
데이터프레임의 열 방향으로 함수를 적용하는 방법은 무려 세가지가 있습니다. 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
리스트 형식으로 결과가 반환됩니다.
반응형
'R 주제 > R 기초 및 통계 강의' 카테고리의 다른 글
[R강의] 152. 벡터의 그룹별로 함수 적용하기 (tapply) (0) | 2023.04.05 |
---|---|
[R강의] 151. 리스트의 각 원소에 함수 적용하기 (sapply, lapply) (0) | 2023.04.04 |
[R강의] 149. 벡터나 데이터프레임을 그룹별로 나눠 리스트에 저장 (split) (0) | 2023.03.29 |
[R강의] 148. with 함수와 그래프 (열이름을 표현식에 사용) (0) | 2023.03.28 |
[R강의] 147. 데이터프레임 열 선택 쉽게 하기, 조건부여 (subset) (0) | 2023.03.27 |
댓글