Я хочу вывести таблицы из списка из 64 элементов, сохранив имена файлов из 64 элементов. Мои данные имеет вид:Выписать несколько текстовых файлов из большого списка
ANNUAL.PRED Large list (64 elements, 1.4 Mb)
file1 : num [1:251, 1:12] 35.23 74.09 ...
-------------------------------------------------
file64: num [1:96, 1:12] 102.4 107.6 ...
Я попытался следующий подход:
invisible(lapply(names(ANNUAL.PRED), function(x){
write.table(ANNUAL.PRED, file=paste(x, ".txt", sep="\t")
}))
Но я получаю следующее сообщение об ошибке:
Error in data.frame(file1 = c(35.2264588125098, 74.0906522082933, 52.2975727774542, : arguments imply differing number of rows: 251, 145, 100, 96, 241, 240, 242, 243
Любые идеи, что я делаю неправильно здесь ? Я использовал подобный подход для вывода нескольких графиков таким образом, и он сработал.
Несколько вопросов, я могу запятнать от руки: 1) Вы передаете весь список 'write.table ', каждый раз, а не один элемент списка для вызова' write.table'. 2) Вероятно, вы хотите передать 'sep =" \ t "' в качестве аргумента для 'write.table', но выше вы его используете как аргумент' paste'. – arvi1000
Это хорошая точка @ arvi1000, потому что, когда выходные файлы создаются в моем каталоге, он печатает FALSE, когда передаю аргумент «header = FALSE». Как я могу сделать аргументы sep и заголовок для write.table, а не вставить? –
Ничего, я получил его, просто добавив аргументы write.table после первого закрытия скобок для аргументов вставки. –