2016-10-21 4 views
0

Привет, я пытаюсь создать 10 наборов подзарядки (из набора 75% тренировки) в случайном порядке извлечения данных из базы данных (DB). я используюсоздание data.frame с контуром

smp_size<- floor((0.75* nrow(DB))/10) 
train_ind<-sample(seq_len(nrow(DB)), size=(smp_size)) 

training<- matrix(ncol=(ncol(DB)), nrow=(smp_size)) 
for (i in 1:10){ 
    training[i]<-DB[train_ind, ] 
} 

что не так?

+3

ты мне скажи. Есть ли сообщение об ошибке? Вы недовольны выходом? Пожалуйста, включите эти вопросы в свой вопрос и предоставите некоторые примеры данных (вы можете использовать встроенные наборы данных, такие как «mtcars»). Хорошим вопросом является то, что люди могут взять код и запустить его на своих машинах без каких-либо проблем. См. Http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – jakub

+0

ok thx .. я новый здесь .. извините – Tyu1990

ответ

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)) вместо

+0

ОК, он работает .. Спасибо! ! Еще один вопрос .. это может быть глупо: почему вы используете runif()? – Tyu1990

+0

- это случайное распределение строк? – Tyu1990

+0

Да, это дает 'nrow (DB)' случайные значения, которые затем упорядочиваются. Порядок этих случайных значений тогда, конечно, также случайный. Предоставление вам случайного смешения индексов строк –

Смежные вопросы