R에서는 vector, matrix, list등에 함수를 적용해 빠른 연산 도와주는 apply계열 함수들이 있습니다.
대표적으로 많이 사용하는 함수는
apply / sapply / lapply / tapply가 있습니다.
우선 apply에 대해 알아보겠습니다.
apply는 기본적으로 행렬이나 데이터프레임에 대하여 행별 또는 열별 함수를 적용 시켜주는 함수입니다.
예를들어 column별 평균이나 표준편차를 구하거나
normalization할때에도 쓰일 수 있겠죠
사용하는 방법은
apply(데이터프레임 또는 행렬 객체, 1 또는 2, 함수)
이렇게 사용할수 가 있습니다.
가운데에 1이 들어가면 행별로 함수를 적용 시키겠다라는 뜻이고
2가 들어가면 열별로 함수를 적용 시키겠다라는 뜻입니다.
m = data.frame(matrix(1:12,ncol=3))
m
apply(m,1,sum) ## 행별 sum구하기
apply(m,2,sum) ## 열별 sum구하기
apply(m,1,mean)
apply(m,2,mean)
실행화면은 다음과 같습니다.
이를 활용해 데이터 정규화를 해보도록 하겠습니다.
apply함수를 이용해서 column별 평균과 표준편차를 구한뒤
for문을 이용해서 각 column별로 평균값을뺴고 표준편차로 나누어 덮어씌워 주면 됩니다.
me<-apply(m,2,mean) ## colmumn 별 평귱
va<-sqrt(apply(m,2,var)) ## colmumn 별 표준편차
for(i in 1:ncol(m)){
m[,i]<- (m[,i]-me[i])/va[i]
cat("\n",i)
}
반응형
'R프로그래밍' 카테고리의 다른 글
R프로그래밍 - list함수 알아보기 (0) | 2020.06.25 |
---|---|
R프로그래밍 - tapply 함수 제대로 알기, 데이터 요소별 함수 적용하기 (0) | 2020.06.25 |
R프로그래밍 - 여러 폴더에서 원하는 csv파일만 불러서 합치기 (0) | 2020.06.25 |
R프로그래밍 - 문자열 찾는 함수 str_detect 함수 %in%연산자 (0) | 2020.06.24 |
R프로그래밍 - R package 설치 법, 설치 오류시 해결 하는 방법 (수동 설치법, 패키지 제거법) (1) | 2020.06.24 |
댓글