반응형
분석 데이터 (상북고_농구부.xlsx)
(북산 - 나무위키 (namu.wiki) "5. 연재 당시 라인업" 정리, 학년은 나이로 반영)
uniform_no | name | height | weight | blood type | age | position |
4 | 채치수 | 197 | 90 | A | 19 | C |
5 | 권준호 | 178 | 62 | A | 19 | SF |
6 | 이달재 | 164 | 18 | PG | ||
7 | 송태섭 | 168 | 59 | B | 18 | PG |
8 | 신오일 | 170 | 18 | PG | ||
9 | 정병욱 | 180 | 18 | SF | ||
10 | 강백호 | 189 | 83 | B | 17 | PF |
11 | 서태웅 | 187 | 75 | AB | 17 | SF |
12 | 이호식 | 170 | 17 | SF | ||
13 | 이재훈 | 171 | 17 | SG | ||
14 | 정대만 | 184 | 70 | A | 19 | SG |
15 | 오중식 | 162 | 17 | PG |
데이터 요약해서 보기
library(readxl) #엑셀 파일을 불러오기 위한 패키지 slam_dunk <- read_excel ("상북고_농구부.xlsx") #해당 엑셀파일 불러오기 summary (slam_dunk) |
uniform_no name height weight Min. : 4.00 Length:12 Min. :162.0 Min. :59.00 1st Qu.: 6.75 Class :character 1st Qu.:169.5 1st Qu.:64.00 Median : 9.50 Mode :character Median :174.5 Median :72.50 Mean : 9.50 Mean :176.7 Mean :73.17 3rd Qu.:12.25 3rd Qu.:184.8 3rd Qu.:81.00 Max. :15.00 Max. :197.0 Max. :90.00 NA's :6 |
uniform_no Min. : 4.00 1st Qu.: 6.75 Median : 9.50 Mean : 9.50 3rd Qu.:12.25 Max. :15.00 |
name Length:12 Class :character Mode :character |
height Min. :162.0 1st Qu.:169.5 Median :174.5 Mean :176.7 3rd Qu.:184.8 Max. :197.0 |
weight Min. :59.00 1st Qu.:64.00 Median :72.50 Mean :73.17 3rd Qu.:81.00 Max. :90.00 NA's :6 |
blood type Length:12 Class :character Mode :character |
age Min. :17.00 1st Qu.:17.00 Median :18.00 Mean :17.83 3rd Qu.:18.25 Max. :19.00 |
position Length:12 Class :character Mode :character |
- uniform_no를 숫자형 변수로 인식하여, 최소값, 1사분위수, 중앙값, 평균, 3사분위수, 최대값 제시
- uniform_no는 숫자형태이나, 실질적으로 크기 및 비교의 의미가 없으므로, Factor로 변환 필요
- name, blood type, position 은 문자형 변수로 인식하여, 데이터 갯수 제공
- height, weight, ages는 숫자형 변수로 인식하여, 최소값, 1사분위수, 중앙값, 평균, 3사분위수, 최대값 제시
- 단, weight는 결측값(Missing Value)이 있음에 따라, 결측값의 개수를 NA(Not Available)로 제공
#slam_dunk의 uniform_no 필드의 데이터를 데이터를 범주형(Factor)으로 변환 slam_dunk$uniform_no <- as.factor(slam_dunk$uniform_no) # summary 재실행 summary (slam_dunk) |
uniform_no 4 : 1 5 : 1 6 : 1 7 : 1 8 : 1 9 : 1 (Other):6 |
name Length:12 Class :character Mode :character |
height Min. :162.0 1st Qu.:169.5 Median :174.5 Mean :176.7 3rd Qu.:184.8 Max. :197.0 |
weight Min. :59.00 1st Qu.:64.00 Median :72.50 Mean :73.17 3rd Qu.:81.00 Max. :90.00 NA's :6 |
blood type Length:12 Class :character Mode :character |
age Min. :17.00 1st Qu.:17.00 Median :18.00 Mean :17.83 3rd Qu.:18.25 Max. :19.00 |
position Length:12 Class :character Mode :character |
- uniform_no가 범주형(Factor)로 변환되어, 각 범주의 빈도수를 표시
summary() 함수
- summary() 함수는 R의 기본 내장 함수로(패키지를 로드할 필요 없음), 데이터의 요약 통계를 제공하는 데 사용
- summary() 함수는 주로 데이터를 살펴보고, 데이터의 구조와 특성을 파악하는 데 유용하게 활용됨
- 특정 데이터 객체(예: 벡터, 데이터프레임, 행렬 등)를 인수로 받아 해당 데이터의 특징을 요약하여 보여줌
- 벡터 요약: 숫자형 벡터의 경우, 최소값, 1사분위수(25th percentile), 중앙값(2사분위수, 50th percentile), 평균, 3사분위수(75th percentile), 최대값을 보여주며, 논리형 벡터의 경우, TRUE와 FALSE의 개수를 보여줌
- 데이터프레임 요약: 데이터프레임을 인수로 받으면 각 열의 데이터 유형과 각 열에 대한 요약 통계를 제공하며, 숫자형 열의 경우, 벡터 요약 정보와 유사한 통계량이 제공되며, 문자열 열의 경우, 빈도수와 유일한 값의 개수 등을 제공
- 행렬 요약: 행렬을 인수로 받으면 각 열(또는 행)에 대한 요약 통계를 제공, 벡터 요약과 유사한 결과를 제공
summary(slam_dunk$height) #특정 필드만 적용 |
Min. 1st Qu. Median Mean 3rd Qu. Max. 162.0 169.5 174.5 176.7 184.8 197.0 |
summary(slam_dunk$uniform_no) |
4 5 6 7 8 9 10 11 12 13 14 15 1 1 1 1 1 1 1 1 1 1 1 1 |
is.na ()함수
- na.omit() 함수는 R에서 결측값(NA)이 포함된 데이터를 가진 객체(예: 데이터프레임, 행렬 등)에서 NA가 있는 행을 제거하고 데이터를 반환
- NA인지 여부를 확인하고, 논리값(TRUE 또는 FALSE)을 반환
- NA가 아니면 FALSE, NA이면 TRUE 반환
- 각 요소의 NA 여부를 빠르게 확인하는 데 유용
is.na(slam_dunk) |
uniform_no name height weight blood type age position [1,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE [2,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE [3,] FALSE FALSE FALSE TRUE TRUE FALSE FALSE [4,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE [5,] FALSE FALSE FALSE TRUE TRUE FALSE FALSE [6,] FALSE FALSE FALSE TRUE TRUE FALSE FALSE [7,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE [8,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE [9,] FALSE FALSE FALSE TRUE TRUE FALSE FALSE [10,] FALSE FALSE FALSE TRUE TRUE FALSE FALSE [11,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE [12,] FALSE FALSE FALSE TRUE TRUE FALSE FALSE |
colSums(is.na(slam_dunk)) #colSums() 함수를 활용하여 각 열의 NA 개수를 계산 |
- colSums() 함수는 행렬 또는 데이터프레임의 각 열에 대해 합계를 계산하는 함수
- is.na() 함수를 이용하여 NA인 요소를 1로, NA가 아닌 요소를 0으로 변환한 후 colSums() 함수를 적용하면 각 열의 NA 개수를 계산
uniform_no name height weight blood type age position 0 0 0 6 6 0 0 |
- weight와 blood type에 각 6개의 NA가 있음을 확인
na.omit() 함수
- na.omit() 함수는 R에서 결측값(NA)이 포함된 데이터를 가진 객체(예: 데이터프레임, 행렬 등)에서 NA가 있는 행을 제거하고 데이터를 반환
- na.omit() 함수를 사용하면, NA가 포함된 행이 제거되므로, 데이터의 일부 정보가 손실될 수 있다는 점을 고려하여,
NA가 있는 행을 제거할지에 대한 판단을 데이터 분석의 목적과 데이터의 특성에 따라 결정
결측값은 데이터셋에서 값이 비어있거나 측정되지 않은 부분을 의미하며, 데이터 분석 시 올바르게 처리해야 하는 중요한 요소로 결측 이유가 무엇인지 (데이터 없음, 데이터 수집 오류 등), 어떻게 처리할 것인지 (제외, 평균 반영 등)에 대한 검토 필요
na.omit(slam_dunk) |
# A tibble: 6 × 7 uniform_no name height weight `blood type` age position <fct> <chr> <dbl> <dbl> <chr> <dbl> <chr> 1 4 채치수 197 90 A 19 C 2 5 권준호 178 62 A 19 SF 3 7 송태섭 168 59 B 18 PG 4 10 강백호 189 83 B 17 PF 5 11 서태웅 187 75 AB 17 SF 6 14 정대만 184 70 A 19 SG |
- 결측값이 있는 3번째, 5번째, 6번째, 9번째, 10번째, 12번째 행을 제외한 결과를 반환
- 총 12개의 행 중에 결측값이 있는 6개를 제외한 결과를 반환
728x90
'데이터 분석 (with Rstudio)' 카테고리의 다른 글
Rstudio 데이터 살펴보기 #3 (기술통계 및 데이터 분포 해석) (0) | 2023.07.30 |
---|---|
Rstudio 데이터 살펴보기 #3 (기술통계) (0) | 2023.07.29 |
Rstudio 데이터 불러오기/살펴보기 #1 (0) | 2023.07.27 |
Rstudio 엑셀 파일 불러오기/저장하기 (0) | 2023.07.26 |
RStudio 환경 소개 및 주요 설정, 주요 패키지 소개 (0) | 2023.07.24 |