2016-11-28 5 views
-4

Я новичок в R, и это будет большой помощью, чтобы найти способ сделать это.R - подмножество списка

У меня есть список значений (всего один столбец и около 16000 значений), и я должен разбить этот список на меньшие пакеты по 1000 значений каждый. Затем сохраните каждый список в виде файла csv. Есть ли способ сделать это?

Спасибо заранее, Dgupta

+0

Разбейте вашу проблему на более мелкие проблемы: (1) сегментировать список (2) цикл по результатам или, возможно, применяя функцию к каждому сегменту (3) сегменты записи на .csv (в цикле или в прикладной функции). Ответы на каждую из этих подзадач уже легко обнаруживаются в StackOverflow. – johnjps111

+0

@ Dasgupta Вы можете добавить образец своих данных, чтобы сделать его воспроизводимым? – heyydrien

ответ

0

Вы можете разделить вектор вверх, используя символ двоеточия в индексе вектора. Например:

> x <- c(10,20,30,40) 
> x[1:2] 

[1] 10 20 

вы можете написать вектор к CSV, используя функцию write.csv(). Один из способов приблизиться к этому - написать цикл, который получает 1000 элементов за раз от вектора и записывает его в csv.

1

Что-то вроде этого:

data <- as.data.frame(list) 
    groups <- split(1:nrow(data), ceiling(seq_along(1:nrow(data)/1000)) 
    for (i in 1:length(groups)){write.csv(data[groups[1,],file=paste(i,'csv'))} 
Смежные вопросы