我正在尝试将我的数据集分成十对不同的随机训练(50%)和测试(50%)数据集。以下是我的R代码: `
n_all = nrow(data3)
set.seed(1)
train_all_1 = sample(1:n_all,0.5*n_all,replace = FALSE)
traindata_1 = data3[train_all_1,]
testdata_1 = data3[-train_all_1,]
set.seed(2)
train_all_2 = sample(1:n_all,0.5*n_all,replace = FALSE)
traindata_2 = data3[train_all_2,]
testdata_2 = data3[-train_all_2,]
`
...
继续....直到10.我想知道是否有另一种方法可以通过使用任何包或函数来做到这一点?
答案 0 :(得分:0)
这可能会有所帮助
train.test <- function(seed=NULL, data){
if(!is.null(seed)){set.seed(seed)}
train_all <-sample(1:n_all,0.5*n_all,replace = FALSE)
output <- list(traindata=data[train_all,],
testdata=data[-train_all,])
return(output)
}
如您所见train.test
返回包含traindata
和testdata
lapply(1:10, function(i) train.test(seed=i, data=data3))
您也可以使用replicate
set.seed(1); replicate(10, train.test(data=data3), simplify = FALSE)
答案 1 :(得分:0)
将var jsonResponse = JsonConvert.DeserializeObject<List<List<string>>>(result);
参数设置为simplify
时使用复制:
FALSE