R 如何不随机地将数据分成指定比率的两部分
如果我有一个100行的数据框,我想以0.7的分割率将数据分割成测试和训练数据,我该如何分割,但不是随机分割?例如,我希望前70%是一个块,最后30%是另一个块。 区块1:R 如何不随机地将数据分成指定比率的两部分,r,R,如果我有一个100行的数据框,我想以0.7的分割率将数据分割成测试和训练数据,我该如何分割,但不是随机分割?例如,我希望前70%是一个块,最后30%是另一个块。 区块1: row example 1 a 2 b . . . 68 a3 69 a4 70 a5 组块2: row example 71 a6 72 a7 . . . 98 b1 99 b2 100 b3 我不希
row example
1 a
2 b
.
.
.
68 a3
69 a4
70 a5
组块2:
row example
71 a6
72 a7
.
.
.
98 b1
99 b2
100 b3
我不希望在每次拆分中都出现随机行您可以尝试:
split(mtcars, 1:nrow(mtcars)/nrow(mtcars) >= 0.7)
分别产生22行和10行。您可以尝试:
split(mtcars, 1:nrow(mtcars)/nrow(mtcars) >= 0.7)
分别产生22行和10行。另一个基本R选项,使用
split
+findInterval
res <- split(df,findInterval(seq(nrow(df)),round(nrow(df)*0.7),rightmost.closed = T))
res另一个基本R选项,使用split
+findInterval
res <- split(df,findInterval(seq(nrow(df)),round(nrow(df)*0.7),rightmost.closed = T))
restrain=df[1:70,],test=df[71:100,]
@user2974951这不适用于具有任何其他行的数据集。我不希望对值进行硬编码train=df[1:70,],test=df[71:100,]
@user2974951这对包含任何其他行的数据集都不起作用。我也不想硬编码这些值