带循环的data.frame创建

时间:2016-10-21 10:27:50

标签: r loops dataframe training-data

您好我正在尝试从数据帧(DB)中随机提取循环中创建10个子训练集(来自75%的训练集)。我正在使用

alias ifc="/yourscriptpath/"

出了什么问题?

1 个答案:

答案 0 :(得分:1)

要将数据集划分为10个大小相等的子集,可以使用以下命令:

# Randomly order the rows in your training set:
DB <- DB[order(runif(nrow(DB))), ]
# You will create a sequence 1,2,..,10,1,2,...,10,1,2.. you will use to subset
inds <- rep(1:10, nrow(DB)/10)
# split() will store the subsets (created by inds) in a list
subsets <- split(DB, inds)

但请注意,split()只会为您提供大小相同的子集。因此,可能(并且可能会)发生一些观察不包括在任何子集中。

如果您希望使用所有观察结果,导致某些子集比其他子集更大,请改用inds <- rep(1:10, length.out = nrow(DB))