方法一 :caTools包,sample.split函数
# Splitting the dataset into the Training set and Test set
install.packages('caTools')
library(caTools)
set.seed(123)
split = sample.split(dataset$Purchased, SplitRatio = 0.75)
training_set = subset(dataset, split == TRUE)
test_set = subset(dataset, split == FALSE)
方法二:caret包,createDataPartition函数
library(caret)
Train <- createDataPartition(data$Obesity, p=0.6, list=FALSE)
training <- data[ Train, ]
testing <- data[ -Train, ]
方法三:sample函数
ind=sample(nrow(data),nrow(data)*4/5)
training<-data[ind,]
testing<-data[-ind,]
方法四:自写函数
create_train_test <- function(data, size = 0.8, train = TRUE) {
n_row = nrow(data)
total_row = size * n_row
train_sample < - 1: total_row
if (train == TRUE) {
return (data[train_sample, ])
} else {
return (data[-train_sample, ])
}
}
#Code Explanation
#function(data, size=0.8, train = TRUE): Add the arguments in the function
#n_row = nrow(data): Count number of rows in the dataset
#total_row = size*n_row: Return the nth row to construct the train set
#train_sample <- 1:total_row: Select the first row to the nth rows
#if (train ==TRUE){ } else { }: If condition sets to true, return the train set, else the test set.