1. 기본함수 - max, min, mean, sum, sd 2. aggregate 함수 - Dataframe 대상 - 분석할 데이터 형태가 데이터 프레임 형태일 경우 사용하는 함수 - 문법 : aggreate(계산될컬럼~기준될컬럼, 데이터, 함수) - 기준될 컬럼이 여러개일 경우에는 + 사용 ex) aggregate(Sales~Fruit+Year,Fruits,max) 3. apply 함수로 분석하기 - Matrix 대상 - R에서 아주 많이 사용되는 함수이며 여러가지 변형도 많음 - 문법 : apply(대상,행/열,적용함수) - 행/열 -> 1이면 행, 2이면 열기준으로 적용 - 행렬(Matrix)일 경우에 유용하게 사용됨 -> 행이나 열을 대상으로 작업하기때문에 4. lapply / sapply 함수 - apply함수의 변형 - 문법 : lapply/sapply(대상, 적용함수) 5. tapply / mapply 함수 tapply( ) - 그룹별 처리를 위한 apply함수 - 문법 : tapply(출력값, 기준컬럼, 적용함수) mapply( ) - 데이터프레임이 아닌 벡터나 리스트 형태의 데이터를 마치 데이터 프레임처럼 연산을 해주는 함수 - 문법 : mapply(함수, 벡터1, 벡터2, 벡터3 ...) 6. sweep 함수 - 한꺼번에 차이 구하기 - 벡터, 매트릭스, 배열, 데이터프레임으로 구성된 여러 데이터들에 동일한 기준을 적용시켜 차이나는 부분을 한꺼번에 보여주는 함수 7. length 함수 - 요소의 개수나 줄수 파악하기 - 요소의 개수나 줄수 파악하는 함수 [R](1)행렬에 apply 적용하기> m23 <- matrix(c(1,2,3,4,5,6),nrow=2,byrow=T);m1 # 2 by 3 행렬만들기 [,1] [,2] [,3] m23 <- matrix(c(1,2,3,4,5,6),nrow=2,byrow=TRUE);m1 # 2 by 3 행렬만들기 # 참고: colSums, rowSums 함수
(2) data.frame 에 apply, sapply, lapply적용하기gender <- c("F","F","F","M","M","M") health gender wei hei age apply(health,2,sum) 에러 발생 FUN(newX[, i], ...)에서 다음과 같은 에러가 발생했습니다:
(2.2) sapply(health,sum) # 각 항목에 대하여 합계... 벡터 형식으로 (2.3) lapply(health,sum) # 각 항목에 대하여 합계... 단 리스트 형식으로 $wei $hei $age (2.4) 리스트를 벡터 형식으로 - unlist unlist(lapply(health,sum)) # 리스트를 벡터로 변환 > unlist(lapply(health,sum)) (3) 남녀별 wei의 합계(3.1) aggregate 이용 gender <- c("F","F","F","M","M","M") wei <- c( 65, 66, 69, 67, 68, 72) hei <- c(171,172,176,173,177,178) age <- c(23,24,38,43,40,42) health <- data.frame(gender,wei,hei,age) health aggregate(wei~gender,data=health,sum) # aggregate를 이용하여 남녀(gendr)별 몸무게(wei)의 합계를 구함aggregate(wei~gender,mean,data=health)(3.2) tapply 이용tapply(health$wei,health$gender,sum) > tapply(health$wei,health$gender,sum) F M 'R & SAS 300제' 카테고리의 다른 글
|