Я программирую в R. У меня есть вектор, содержащий, скажем, 1000 значений. Теперь предположим, что я хочу разбить эти 1000 значений случайным образом на два новых набора, один из которых содержит 400 значений, а другой - 600. Как я могу это сделать? Я думал о делать что-то вроде этого ...Как разбить набор значений (вектор) в R
firstset <- sample(mydata, size=400)
... но это не разбивает данные (другими словами, я до сих пор не знаю, какие 600 значений поместить в другой набор). Я также думал о том, что цикл занимает от 1 до 400, случайным образом удаляя 1 значение за раз и помещая его в firstset
. Это правильно разделило бы данные, но как реализовать это мне не ясно. Плюс мне сказали, что избегают for
петель в R, когда это возможно.
Любые идеи?
точка на циклах 'for' не очень подходит. IIRC это проблема в S-Plus, но не так много в R. Пока вы выделяете достаточное количество хранилища для результата (вместо того, чтобы расти или конкатенатировать в течение каждой итерации цикла), 'for' loops могут быть такими быстрыми, если не быстрее других подходы R («apply» и family) и намерение явного цикла «for» в коде могут быть более легко восприняты, чем тайный однострочный вызов «apply». –