Chapter 02 데이터 분석을 위한 기본 다지기
02-1 데이터 분석과정 |
- 1단계 : 데이터 분석 설계하기
- 방향성 기획 + 방법론 검토 + 가설 설정
단계 | 목표 | 예시 |
1 | 주제 설정하기 | 아침식사 여부와 건강의 상관관계 |
2 | 가설 설정하기 [여러 개를 만들어 놓고 나중에 데이터를 확보하는 과정에서 제외한다] |
(가설1) 아침식사 빈도수가 적을수록 고혈압의 위험이 높을 것이다. (가설2) 아침식사 빈도수가 적을수록 우울증의 위험이 높을 것이다. (가설3) 아침식사 빈도수가 적을수록 삶의 질 지표가 낮을 것이다. |
3 | 분석 가능 변수, 파생 변수 구성 | |
4 | 분석 항목 결정 | 빈도분석 (카이제곱 검정) 상관분석 회귀분석 (선형회귀 또는 로지스틱회귀) |
- 2단계 : 데이터 준비하기
1) 직접 입력하는 방법 (ex. ID <- c(1,2,3,4,5,6,7,8,9,10) )
2) 있는 데이터를 불러오는 방법 (엑셀, TXT, CSV, 서버 내 파일, 웹 크롤링 등)
- 3단계 : 데이터 가공하기
- 하나의 데이터 세트에서 필요한 변수만 추출하고 나머지는 삭제하는 방법
- 여러 데이터 세트를 병합하거나 각각에서 필요한 변수를 추출하여 새로운 데이터 세트를 형성하는 방법
- 4단계 : 데이터 분석하기
- 기술통계량으로 데이터를 파악하고 다양한 그래프를 그려보면서 시각화
- 다양한 통계분석 방법론 적용 = 데이터 분석은 주장에 대한 근거 자료를 만드는 과정
- 5단계 : 결론 도출하기
02-2 데이터의 생김새 |
- 데이터의 생김새에 따른 분류
1차원 | 2차원 | n차원 | |
단일형 | 벡터 | 행렬 | 배열 |
다중형 | 리스트 | 데이터 프레임 |
- 데이터 유형
- 데이터 유형이 한 종류이면 단일형, 두 종류 이상이면 다중형
숫자형 문자형 논리형 |
숫자로만 이루어진 데이터 유형 (실수형 또는 정수형) 문자로만 이루어진 데이터 유형 TRUE 또는 FALSE로 이루어진 데이터 유형 |
- 데이터 차원 : 데이터 내에서 특정 데이터 값을 찾을 때 필요한 정보의 개수
1차원 2차원 n차원 |
수직선 위에 놓여 있는 데이터 평면 위에 놓여 있는 데이터 n차원 도형 위에 놓여 있는 데이터 |
- 데이터 구조 실습
데이터 구조 | 예시 | |
벡터 | 변수명 <- c(값) | |
숫자형 | ex_vector <- c(1,2,3,4,5) | |
문자형 | ex_vector2 <- c(“Hello”,“Hi”) | |
논리형 | ex_vector3 <- c(TRUE, FALSE, TRUE) | |
범주형 | cate_vector <- factor(ex_vector4, labels = c(“A”, “B”, “C”) | |
행렬 | matrix (벡터, nrow = 행 개수, ncol = 열 개수) | |
x <- c(1,2,3,4,5,6) matrix (x, nrow = 2, ncol = 3) |
||
배열 | array (변수명, dim = c(행 수, 열 수 , 차원 수)) | |
y <- c(1,2,3,4,5,6) array (y, dim = c(2,2,3)) |
||
리스트 | 변수명 <- list(값) | |
list1 <- list (c (1, 2, 3), “Hello”) list2 <- list (1, 2, 3, “Hello”) list3 <- c (1, 2, 3, “Hello”) |
||
데이터 프레임 | data.frame (변수명1, 변수명2, 변수명3, ... , 변수명n) | |
> ID <- c(1,2,3,4,5,6,7,8,9,10) > SEX <- c("F","M","F","M","M","F","F","F","M","F") > AGE <- c(50,40,28,50,27,23,56,47,20,38) > AREA <- c("서울","경기","제주","서울","서울","서울","경기","서울","인천","경기") > dataframe_ex <- data.frame(ID,SEX,AGE,AREA) > dataframe_ex ID SEX AGE AREA 1 1 F 50 서울 2 2 M 40 경기 3 3 F 28 제주 4 4 M 50 서울 5 5 M 27 서울 6 6 F 23 서울 7 7 F 56 경기 8 8 F 47 서울 9 9 M 20 인천 10 10 F 38 경기 |
- 벡터의 속성과 길이를 확인할 수 있는 함수
함수 | 출력값 |
mode() | > mode(ex_vector2) [1] "numeric" > mode(ex_vector) [1] "character" |
str() | > str(ex_vector2) num [1:5] 1 2 3 4 5 > str(ex_vector) chr [1:6] "-1" "0" "1" "Hello" "5" "3" > str(dataframe_ex) 'data.frame': 10 obs. of 4 variables: $ ID : num 1 2 3 4 5 6 7 8 9 10 $ SEX : chr "F" "M" "F" "M" ... $ AGE : num 50 40 28 50 27 23 56 47 20 38 $ AREA: chr "서울" "경기" "제주" "서울" ... |
length() | > length(ex_vector) [1] 6 > length(ex_vector2) [1] 5 > length(dataframe_ex) [1] 4 |
typeof() | > typeof(ex_vector6) [1] "integer“ > typeof(ex_vector) [1] "character" > typeof(ex_vector2) [1] "double“ > typeof(ex_vector3) [1] "logical" |
- 인덱스
- R에서 대괄호는 인덱스(index)를 의미하며 인덱스는 데이터를 가리킬 때 사용한다.
(예시)
> list1[[1]] [1] 1 2 3 > list1[1] [[1]] [1] 1 2 3 |
혼공 미션 |
- 기본미션
- 선택미션 (데이터 분석과정을 정리하기) -> 위에!
정리본 PDF |
'프로그래밍 > R 공부' 카테고리의 다른 글
[혼공학습단 10기] 혼자 공부하는 R 데이터 분석 Chapter 05 (2) | 2023.08.03 |
---|---|
(코드 오류와 해결 기록) dcast() : Aggregation function missing: defaulting to length (0) | 2023.07.19 |
[혼공학습단 10기] 혼자 공부하는 R 데이터분석 Chapter 04 (8) | 2023.07.12 |
[혼공 학습단 10기] 혼자 공부하는 R 데이터분석 Chapter 03 (0) | 2023.07.11 |
[혼공학습단 10기] 혼자 공부하는 R 데이터분석 Chapter 01 (0) | 2023.07.03 |