728x90
04.R programming 데이터 전처리 (hflights 파일) in R


library(hflights)
h001<-hflights
str(h001)

summary(h001)

h001<-h001[-c(1,20,21)]

h001$UniqueCarrier<-as.factor(h001$UniqueCarrier)

h001$TailNum<-as.factor(h001$TailNum)

h001$Origin<-as.factor(h001$Origin)

h001$Dest<-as.factor(h001$Dest)

h001$Cancelled<-as.factor(h001$Cancelled)

library(plyr)

count(h001,'UniqueCarrier')#15

count(h001,'FlightNum')#3240

count(h001,'TailNum') #2820

count(h001,'Origin') #2

count(h001,'Dest')#116

h001<-h001[-c(7,8)]

str(h001)

summary(h001)


# Rename: Column Labels


h001<-setNames(h001,c("x001","x002","x003","x004","x005","x006","x007","x008","x009","x010","x011","x012","x013","x014","x015","y001"))

str(h001)

summary(h001)


# Recoding

library(plyr)

levels(h001$x006)<-0:14

levels(h001$x011)<-0:1

levels(h001$x012)<-0:115

str(h001)

summary(h001)


# Imputation: Median (Removing Missing Values Causes Removing y001 Values)


h001$y001<-as.numeric(h001$y001)

h001$x006<-as.numeric(h001$x006)

h001$x011<-as.numeric(h001$x011)

h001$x012<-as.numeric(h001$x012)

h001$y001<-h001$y001-1

h001$x006<-h001$x006-1

h001$x011<-h001$x011-1

h001$x012<-h001$x012-1

str(h001)

summary(h001)

library(stringr)

f=function(x){
 
  x<-as.numeric(str_replace_all(x,',',''))
 
  x[is.na(x)]=median(x, na.rm=TRUE)
 
  x
 
}

h001=data.frame(apply(h001,2,f))

h001<-round(h001,0)

str(h001)

h001$x006<-as.factor(h001$x006)

h001$x011<-as.factor(h001$x011)

h001$x012<-as.factor(h001$x012)

h001$y001<-as.factor(h001$y001)

str(h001)

summary(h001)


# Writing Data: Training & Test


getwd() 

# [1] "C:/Users/acorn/Documents"


write.table(h001,"Data 2b Training & Test.txt")


# Writing Data: Prediction


h002=h001[-c(16)]

h002=h002[sample(nrow(h002),size=22387),]

h002

str(h002)

getwd()


# [1] "C:/Users/acorn/Documents"


write.table(h002,"Data 2b Prediction.txt")

 

 

728x90

데이터파일을 usb에 넣거나 클라우드에 잇는 파일들을 다운받아 사용하려면 귀찮을때가 많은데

구글시트를 R에서 연동을하면 따로 다운로드를 받지 않고 바로 사용할수 있는 패키지입니다.

 

실행시키면 콘솔창에 url이 뜨는데 그 url을 복사해서 들어간다음에

로그인하고 google이 주는 key값을 콘솔에 입력하면

연동이 됩니다.

 


install.packages('googlesheets')

library(googlesheets)
library(dplyr)

########################################
#함수로 만든 google sheet불러오기
########################################

library(googlesheets)
library(dplyr)
read.gs <- function(x,ws=1){
  allpack <- c("devtools", "ggplot2", "rJava", "XLConnect", "reshape2", "dplyr", "plyr", "gdata", "readr", "tools", "tcltk", "svDialogs", "stringr", "extrafont")
 
  newpack <- setdiff(allpack, rownames(installed.packages())) # 없는 패키지 추출
  
  if (length(newpack) > 0) { # newpack의 패키지를 설치, 없으면 통과
    install.packages(newpack)
  }
  
  # 필수 패키지 모두 라이브러리로 등록
  for(i in allpack){
    require(i, character.only = TRUE) # character.only : 객체로 취급하지 않고, 문자로 취급
  }
 
 
       x<-gs_ls(x)[1,1] %>%
        as.character() %>%
        gs_title() %>%
        gs_read(ws = ws) %>%
        as.data.frame() #%>%
   
  
    attributes(x)$spec <- NULL
    return(x)
    }

bb.df <-read.gs("example_kbo2015.") #이부분에서 ""안에 파일명을 쓰면됩니다.

                                                 #풀네임을 안쳐도 구분가능한 정도까지만 쓰면 가져올수 있습니다.
str(bb.df)
x
### 구분된(콤마나 탭으로) 데이터 업로드 하기
iris %>%
  head(5) %>%
  write.csv("iris.csv", row.names = FALSE)

iris_ss <- gs_upload("iris.csv")

iris.gs <- gs_read(iris.ss)

file.remove("iris.csv")

# 등록코드 지우기 (작업디렉토리에 있음!)
#Files에 .httr-oauth 지우기
## 해당 패키지 지우고 언로드 하기
remove.packages('googlesheets')
unloadNamespace("googlesheets")

 

728x90

02.R 언어 기본문법(집합, matrix, data frame)

 

R을 사용하는데 있어서, 데이터를 삽입하고 수정을 하는 간단한 문법과 조작법을 배워보겠습니다.

 

 

1. 변수를 선언하고 데이터를 삽입하기

 

 

 

2. 두 변수값의 합집합, 차집합, 교집합 구하기

 

union()

setdiff()

intersect()

 

 

 

3.행렬만들고 합치기

 

matrix()

rbind()

cbind()

 

4.data frame만들고 병합하기

 

data.frame()

subset()

merge()

 

728x90

R언어

-통계분석과 자료의 시각화를 위한 공개용 소프트웨어

 

 

R의 특징

- 객체지향 언어

- 고속 메모리 처리

- 다양한 자료구조

- 최신 패키지 제공

- 시각화

 

 

패키지

- R에서는 data set, function, Algorithm등이 하나의 꾸러미 형태로 제공되어 누구든지 무료로 사용 할 수 있어, R언어가 교육업계나 산업형장 그리고 데이터 분석가와 일반 사용자까지 지속적으로 관힘을 받을 수 있는 매우 큰 장점을 지니고 있다.

 

- 아래의 형식으로 패키지를 설치하고 불러와 사용 할 수 있다.

 

 

변수

-변수의 첫 자는 영문자로 시작하고, 다음부턴 숫자,콤마,점,언더바를 사용할수 있다.

- 아래와 같이 변수를 사용 할 수 있으며, 자바나 c언어처럼 자료형을 따로 선언해 줄 필요가 없다. 

 

 

자료형

- numeric : 정수,실수 (ex. 123, 123.1)

- character : 문자,문자열 (ex. "홍길동")

- logical : 참,거짓 (

ex. TRUE, FALSE)

- 결측치 : 값이 없음, NA

 

자료구조

- vector : 연석된 선형구조의 형태로 index를통해 접근가능 (자바의 array와 비슷 하지만 index가 1부터 시작), 동일한 타입의 데이터만 저장가능

- matrix : 2차원의 배열구조를 갖는다. 동일한 타읩의 데이터만 저장가능

- list : 서로 다른 자료구조를 중첩하여 객채를 생성하는 자료구조.

        c언어의 구조체와 비슷하며, key와 value값을 한 쌍으로 갖는다.

- data.frame : 열 단위로 서로 다른 자료형을 포함할 수 있다.

 벡터와 행렬을 이용하여 데이터프레임 객체를 생성할 수 있다.

+ Recent posts