Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何不随机地将数据分成指定比率的两部分_R - Fatal编程技术网

R 如何不随机地将数据分成指定比率的两部分

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 我不希

如果我有一个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
我不希望在每次拆分中都出现随机行

您可以尝试:

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))

res
train=df[1:70,],test=df[71:100,]
@user2974951这不适用于具有任何其他行的数据集。我不希望对值进行硬编码
train=df[1:70,],test=df[71:100,]
@user2974951这对包含任何其他行的数据集都不起作用。我也不想硬编码这些值