# Split the data "IndianLiverPatient.csv" into train and test datasets
setwd("E:/R/Data/")

ilp.tmp <- read.csv("IndianLiverPatient.csv", header=T)
#ilp <- ilp.tmp
ilp <- ilp.tmp[c(-210, -242, -254, -313),]    # lf[^
ilp$Class <- ilp$Class - 1                    # Class {1, 2} Ȃ̂ŁA {0, 1} ɕύX

ilp0.tmp <- subset(ilp,ilp$Class==0)    # NX0̂
ilp1.tmp <- subset(ilp,ilp$Class==1)    # NX1̂

n0.train <- dim(ilp1.tmp)[1]/2       # NX0̊wKf[^BNX1̊wKf[^Ɠɂ
n1.train <- dim(ilp1.tmp)[1]/2       # NX1̊wKf[^BƂ

set.seed(123)     # f[^̕@ς邽  # eAwДԍpĉB

ilp0.train.index <- sample.int( dim(ilp0.tmp)[1], n0.train )           # _ɑI
ilp0.test.index  <- setdiff( 1:dim(ilp0.tmp)[1], ilp0.train.index )    # ceXg
ilp1.train.index <- sample.int( dim(ilp1.tmp)[1], n1.train )           # _ɑI
ilp1.test.index  <- setdiff( 1:dim(ilp1.tmp)[1], ilp1.train.index )    # ceXg

ilp0.train <- ilp0.tmp[ilp0.train.index,]    # NX0̊wKf[^
ilp0.test <-  ilp0.tmp[ilp0.test.index, ]    # NX0̃eXgf[^
ilp1.train <- ilp1.tmp[ilp1.train.index,]    # NX1̊wKf[^
ilp1.test <-  ilp1.tmp[ilp1.test.index, ]    # NX1̃eXgf[^

ilp.train <- rbind(ilp0.train, ilp1.train)    # wKf[^
ilp.test  <- rbind(ilp0.test,  ilp1.test )    # eXgf[^

head( ilp.train )
head( ilp.test  )

write.csv(ilp.train, "IndianLiverPatient.train.csv", row.names=F)
write.csv(ilp.test,  "IndianLiverPatient.test.csv",  row.names=F)
