본문 바로가기

R Programming

[R Programming] R 데이터 활용 - Week 3-3

GIST에서 공개하는 청년 AI. Big Data 아카데미 온라인 기초과정 빅데이터 분석과 R프로그래밍 강의를 참고하였다.

 

R Studio를 실행하여 실습을 해본다.

 

1
2
3
4
5
car<-read.table(file="autompg.txt", na=" ", header=TRUE)
head(car)
dim(car)
str(car)
summary(car)
 
cs

autompg.txt 파일을 읽어서 car 데이터로 생성하였다. head 함수로 데이터 6개의 출력을 확인하였고, dim 함수로 데이터가 398개의 관측치에 9개의 변수로 이루어진 것을 확인하였다.

str(데이터 이름)

관측치수, 변수들이 저장된 형태등을 파악할 수 있다. mpg, disp, hp, accler는 numeric으로, cyl, wt, year, origin는 int로 carname은 범주형 변수로 저장되어 있는 것을 확인할 수 있다.

summary 함수로 각 변수별로 최소값, 25% 중간값 평균 75% 최대값을 확인할 수 있고, carname같은 범주형 변수는 빈도수를 출력하여 ford pinto 차 이름이 가장 많이 나온 것을 볼 수 있다.

 

1
2
3
4
5
6
7
attach(car)
table(origin)
table(year)
mean(mpg)
mean(hp)
mean(wt)
apply (car[, 1:6], 2, mean)
cs

table(데이터 이름)

데이터의 요약 통계치, 빈도를 구할 수 있다.

table(origin)으로 origin의 빈도수를 확인하였더니 1이 가장 많이 나온 것이 확인된다.

table(year)을 사용하면 70년부터 82년가지 분포된 것을 확인할 수 있다.

 

apply(변수리수트, (1=row, 2=col), FUN)

평균을 확인하기 위해서는 mean 함수를 사용하여 하나씩 mpg, hp, wt의 평균을 확인할 수 있지만 여러개의 변수의 평균이나 표준편차를 한번에 구하기 위해서는 apply 함수를 사용한다.

apply(car[, 1:6], 2, mean): car 데이터의 변수를 첫번째~여섯번째 변수까지 그 평균을 출력한다.

 

1
2
3
4
freq_cyl<-table(cyl)
names(freq_cyl) <- c ("3cyl", "4cyl", "5cyl", "6cyl", "8cyl")
barplot(freq_cyl, main="Cylinders Distribution")
hist(mpg, main="Mile per gallon:1970-1982", col="lightblue")
cs

barplot(데이터 빈도수)

freq_cyl<-table(cyl): cyl의 데이터 요약 통계치를 freq_cyl로 생성하였다.
names(freq_cyl): names로 통계치에 이름을 부여하였다.

barplot(freq_cyl, main="Cylinders Distribution"): freq_cyl 데이터로 막대그래프를 생성한다. main으로 제목을 붙인다.

 

hist(데이터 이름)

hist(mpg, main="Mile per gallon:1970-1982", col="lightblue"): mpg데이터로 히스토그램을 생성한다. main으로 제목을 붙이고, col옵션으로 색깔은 lightblue로 한다.


scatterplot3d

1
2
3
4
# install.packages("scatterplot3d")
library(scatterplot3d)
scatterplot3d(wt,hp,mpg, type="h", highlight.3d=TRUE,
               angle=55, scale.y=0.7, pch=16, main="3dimensional plot for autompg data")
cs

scatterplot3d는 별도의 패키지 설치가 필요하다. 이전에 설치를 했다면 다시 설치할 필요는 없고, 라이브러리 선언을 해주어야한다.

wt, hp, mpg 세가지 변수로 3d 산점도를 그려준다.

 

벡터화 요약치 lapply(변수리스트, FUN)

1
2
3
4
5
6
7
a1<-lapply (car[, 1:6], mean)
a2<-lapply (car[, 1:6], sd)
a3<-lapply (car[, 1:6], min)
a4<-lapply (car[, 1:6], max)
table1<-cbind(a1,a2,a3,a4)
colnames(table1) <- c("mean""sd""min""max")
table1
cs

각 변수들의 평균, 표준편차, 최소값, 최대값을 한꺼번에 볼 수 있다. lapply로 생성한 4개의 값들을 데이터로 만들어서 cbind로 컬럼으로 합친다. colnames로 각 변수의 역할에 맞는 이름을 부여하고 이를 테이블로 만들어서 출력한다.