사용할 데이터는 Revolution 폴더안의 Sample Data로, "mortDefaultSmall2009"라는 이름의 csv파일이다.
데이터의 행 수는 총 10000개 이고, 'creditScore', 'houseAge', 'yearsEmploy', 'ccDebt', 'year', 'default' 로 총 6개의 변수(열)를 가지고 있다.
현재 사용한 데이터는 2009년 데이터이지만, 실제는 2000년부터 2009년까지 10년간의 sample data가 있다.
뒤에 데이터 합치기와 같은 부분에서 다른 연도의 데이터도 사용될 것이다.
# (1-1)data의 위치지정 Revolution R을 다운할 시, 자동으로 생성되는 Sample
# data중 하나인 데이터로, sampleData폴더의 'mortDefaultSmall2009'
# csv파일을 사용
text_mort <- "C:/Revolution/R-Enterprise-6.1/R-2.14.2/library/RevoScaleR/SampleData/mortDefaultSmall2009.csv"
# (1-2)rxImport를 사용한 data import
data_mort <- rxImport(inData = text_mort, outFile = "mort2009.xdf", overwrite = TRUE)
# (1-3)rxXdfToText를 이용한 Import된 Data의 Export
# text파일로 변환될 때의 구분자는 'sep'라는 옵션으로 정하며, 이 경우에는
# 쉼표(,)를 구분자로 두었음
Export_text <- rxXdfToText(inFile = data_mort, outFile = "Export_text", overwrite = TRUE,
sep = ",")
##
## Chunk 1 of 1 (10000 of 10000 rows). Time: 0.110 seconds.
## Total time: 0.190 seconds.

(1-2)에서 불러들인 파일이 위와 같이 'Export_mort'라는 이름의 text파일로 내보내지게 된다.
# (1-2)에서 사용한 데이터를 Data Frame형태로 내보내게 된다.
# (1-4)rxXdfToDataFrame을 사용한 Data Export
Export_DataFrame <- rxXdfToDataFrame(file = data_mort, varsToDrop = c("year",
"default"))
##
Rows Processed: 10000
## Time to read data file: less than .001 secs.
## Time to convert to data frame: less than .001 secs.
# (1-5)만들어진 Data Frame 확인
head(Export_DataFrame)
## creditScore houseAge yearsEmploy ccDebt
## 1 701 23 2 3661
## 2 683 12 5 3384
## 3 705 30 5 3210
## 4 769 13 5 2843
## 5 741 11 7 1532
## 6 731 14 4 5302
(1-3) 으로 만들어진 파일과 같은 파일이지만, 형식이 다른 파일이 저장되게 된다.
rxImport와 rxTextToXdf에서 사용한 Argument에 추가되는 Argument들가 정의되어 있다. 이에 관한 Arguments들을 보려면, Click Here!!
rxXdfToText(inFile, outFile, varsToKeep = NULL,
varsToDrop = NULL, rowSelection = NULL,
transforms = NULL, transformObjects = NULL,
transformFunc = NULL, transformVars = NULL,
transformPackages = NULL, transformEnvir = NULL,
overwrite = FALSE, sep = “,”, quote = TRUE, na = “NA”, eol = “\n”,
blocksPerRead = rxGetOption(“blocksPerRead”),
reportProgress = rxGetOption(“reportProgress”), …)
rxXdfToDataFrame(file, varsToKeep = NULL, varsToDrop = NULL, rowVarName = NULL,
rowSelection = NULL, transforms = NULL, transformObjects = NULL,
transformFunc = NULL, transformVars = NULL,
transformPackages = NULL, transformEnvir = NULL,
removeMissings = FALSE, stringsAsFactors = FALSE,
blocksPerRead = rxGetOption(“blocksPerRead”),
maxRowsByCols = 3000000,
reportProgress = rxGetOption(“reportProgress”),
userObjects = NULL, cppInterp = NULL)
Hankuk University of Foreign Studies. Dept of Statistics. Daewoo Choi Lab. Yeeseul Han.
한국외국어대학교 통계학과 최대우 연구실 한이슬
e-mail : han.lolove17@gmail.com