Как разбить данные на две части с заданным соотношением, НЕ случайно - PullRequest
0 голосов
/ 24 февраля 2020

Если бы у меня был фрейм данных с 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

Я бы не хотел, чтобы в каждом разбиении были случайные строки

Ответы [ 2 ]

2 голосов
/ 24 февраля 2020

Вы можете попробовать:

split(mtcars, 1:nrow(mtcars)/nrow(mtcars) >= 0.7)

Получается 22 и 10 строк соответственно.

0 голосов
/ 24 февраля 2020

Другая базовая опция R, используя split + findInterval

res <- split(df,findInterval(seq(nrow(df)),round(nrow(df)*0.7),rightmost.closed = T))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...