-
[R기초] split 함수로 데이터를 나누고, apply함수로 기술통계 비교하기R 통계/R 기초 2021. 9. 16. 08:00728x90
탐색적 데이터 분석을 진행하면, 단순한 기술 통계에 대해 확인하고 싶은 경우가 있다.
R에서는 split 함수와 apply 계열 함수를 통해,
원하는 조건으로 데이터를 구분하고(split),
split(나눌 데이터 변수, 나눌 데이터 기준)
나눠진 조건에 맞추어(apply) 기술통계 값을 구할 수 있다.
sapply(split으로 나눠진 데이터, 원하는 기술 통계값)
#임의 데이터 생성 name <- c("김철수", "김영희", "김개똥", "이소똥", "전말똥") height <- c(170, 165, 183, 155, 178) weight <- c(68.7, 57.4, 83.0, 55.2, 71.4) address <- c("서울시 00구 00동", "부산시 00구 00동", "경기도 인천시 00구 00동", "경기도 성남시 00구 00동", "강원도 강릉시 00동") gender <- c("남", "여", "남", "여", "남") BMI_calc <- data.frame(name, height, weight, address, gender) height_by_gender <- split(BMI_calc$height, BMI_calc$gender) <입력1> sapply(height_by_gender, mean) <결과1> 남 여 177 160 <입력2> sapply(height_by_gender, sd) <결과2> 남 여 6.557439 7.071068 <입력3> sapply(height_by_gender, range) <결과3> 남 여 [1,] 170 155 [2,] 183 165 <입력5> sapply(height_by_gender, min) <결과5> 남 여 170 155 <입력6> sapply(height_by_gender, max) <결과6> 남 여 183 165 <입력7> sapply(height_by_gender, summary) <결과7> 남 여 min. 170.0 155.0 1st Qu. 174.0 157.5 median 178.0 160.0 mean 177.0 160.0 3rd Qu. 180.5 162.5 max. 183.0 165.0
<sapply에 사용 가능한 기술 통계 함수 정리>
min 최소값 max 최대값 mean 평균값 median 중앙값 range 범위 quantile 사분위수 IQR Inter Quantile Range var 분산 sd 표준편차 summary min, 1Q, median, mean, 3Q, max 728x90'R 통계 > R 기초' 카테고리의 다른 글
[R기초] 테이블의 합을 구하는 함수 addmargins() (0) 2021.09.23 [R기초] apply 계열 함수의 활용법 (0) 2021.09.17 [R기초] 엑셀의 vlookup과 유사한 함수, merge를 알아보자 (0) 2021.09.15 [R기초] subset 함수를 활용해 원하는 데이터만 선택하자 (0) 2021.09.14 [R기초] colnames 함수를 활용해 변수명 변경하기 (0) 2021.09.13