Не знаю, зачем вам загружать plyr ... при условии, что ваш фрейм данных df ... (украл разумное использование min () из ответа Шейна)
maxCol <- ncol(df)
for (i in seq(1, maxCol, by 3000)) {
write.table(df[,i:min(i+2999, maxCol)], "i")
}
Возможно, вы захотитеОтредактируйте приведенную выше команду write.table, чтобы добавить ее в предпочитаемом формате.