혼공R 4주차 데이터 다루기(수집, 관측, 탐색)
- 데이터 수집하기
- 분석할 데이터를 준비하는 과정
(1) 직접 데이터 입력하기(벡터만들기와 동일)
(2) 외부 데이터 가져오기
- read.table() txt파일
read.table("raw data", header =FALSE, skip=o, nrows=-1, sep="",...)
header: 원시데이터의 1행이 변수명인지 아닌지 판단 (header=TRUE는 1행이 변수명으로 지정하는 것)
skip: 특정 행까지 제외하고 데이터 가져옴
nrows: 특정 행까지 데이터 가져옴
sep: 데이터의 구분 문자 지정
ex_data<-read.table("C:/Rstudy/data_ex.txt", encoding="EUC-KR"), fileEncoding="UTF-8")
- 데이터 관측하기 (과제 1)
- view 함수를 통해서 원시데이터의 프레임 전체 확인 가능
- data()는 기본 내장 데이터 세트를 확인할 수 있음

<과제 iris 데이터 활용하기>
여기서 내장 데이터 세트 iris를 활용함

※(주의) 여기서 나는 view(iris)로 적었는데, 그냥 iris만 적고 봐야지 데이터 세트 조회가 가능함.

(1) 데이터 구조 확인
- 데이터 구조 확인을 위해서는 str()함수를 활용함. 데이터세트를 구성하는 변수의 속성이 문자형인지, 숫자형인지 등을 확인할때 사용
str(iris)는 위와 같음.
-> 150개 관측, 5개 변수, $달러는 칼럼명, num은 숫자형 데이터, factor은 값이 setosa, versicolor, virgina 3가지 범주로 구성되어 있음을 의미함.
(2) 데이터 세트 컬럼 및 관측치 확인
- ncol(): 데이터 프레임 컬럼(열) 개수 확인
- nrow(): 데이터 프레임 관측치(행) 개수 확인
- dim(): 데이터 프레임 컬럼(열) 및 관측치(행) 개수 확인

iris 데이터의 세트 컬럼 및 관측치를 확인한 결과
- head(): 데이터 앞부분 확인 head(변수명, n=수량)
- tail(): 데이터 뒷부분 확인 tail(변수명, n=수량)
- mean() 평균 함수
- median() 중위값

이렇게 오타나면 아래 콘솔에 빨간 글씨로 오류를 알려줌..ㅎㅎ

멀쩡하게 출력하면 이렇게 됨
관련해서는 min(), max(), range()도 있음
- 분위수 (quantitle): 전체 데이터를 크기 순으로 정렬하여 n개로 나누었을 때 그 경계에 해당하는 값. 데이터 4등분해서 고나측
- quantile(): 하위 25%, 50%, 75% 지점을 probs 옵션으로 지정하면 제1사분위수, 제2사분위수, 제3사분위수를 출력함.
-
분산과 표준편차: 데이터가 대푯값에서 어느 정도 흩어져 있는지 산포도를 판단하는 통계량
-var() 분산: 데이터가 평균으로부터 퍼진 정도, 값이 크면 데이터가 넓게 퍼진거임. 작을수록 데이터가 평균에 몰려 있음.
-sd(표준편차): 값이 클수록 데이터가 넓게 퍼져있음.
-
첨도와 왜도: 데이터의 비대칭도를 파악하는 기술통계량
- kurtosi(변수명): 첨도
- skew(변수명): 왜도, 값이 0에 가까울 수록 좌우대칭, 0보다 크면 오른쪽 꼬리, 0보다 작으면 왼쪽 꼬리
-> 확인하기 위해서 psych 패키지 다운 필요함.
- freq() 함수 활용 => descr 패키지 다운 필요
- 데이터 탐색하기 (추가 숙제)
- 데이터 시각화는 상자그림, 막대 그래프, 히스토그램, 파이차트, 줄기 잎 그림, 산점도 등을 활용해서 간결하고 쉽게 이해할 수 있도록 함.
(1) 막대그래프
-freq() 막대그래프 그리고 plot 옵션 설정하면 나옴

-barplot() -> 별대 패키지 설치 없이도 그릴 수 있음. 빈도나 분포 기능은 없어서 table() 함수와 같이 사용함.

빈도 분포 구하고 막대 그래프 그리기, 색은 내가 수정해봄.
(2) 상자그림 그리기(boxplot)
- 데이터 분포를 비교하거나 이상치(outlier)를 판단할 때 주로 사용하는 그래프. 극단값(최대-최소), 제3사분위수, 평균값, 중앙값, 제1사분위수로 구성

boxplot(exdata1Y21CNT,exdata1Y20_CNT)
상자 그림을 통해서 데이터 퍼짐 정도, 최대 최소, 중앙값, 이상치를 확인할 수 있음. (이상치는 동그라미로 표시됨)
- 상자그림 요약값 정리하기


창의적으로 색도 변경해봅시다... skyblue와 hotpint 사용
★ 추가 내용
ylim: 출력할 y축 범위 지정. c()함수를 사용해 벡터 형태로 지정
main: 그래프 제목 지정
xlab: x축 제목 지정
ylab: y축 제목 지정
names: c() 함수를 사용해 벡터 형태로 컬럼 제목 지정
col: c() 함수를 사용해 벡터 형태로 그래프 색상 지정
이번주 과제를 통해서 데이터 추출, 불러오기, 그래프 (막대, 상자) 그리기까지 도전했다. 특히 재밌던 건 색상 고르기..알록달록..다음주에도 열심히 해 봅시다.