Как записать столбцы из нескольких файлов в один фрейм данных

У меня около 100 текстовых файлов по 3 столбца в каждом. Я хочу прочитать каждый файл в объект, а затем содержимое в матрицу, в которой есть 300 столбцов.

Создал матрицу:

ptamat <- matrix(ncol=300, nrow=2665)

Читать файлы в объект

myfiles <- lapply(Sys.glob('pta_out__*'), read.table)

Показать содержимое первых 2 файлов в объекте myfiles

myfiles[[1:2]]

Скопируйте файлы из объекта myfiles в матрицу

ptamat[,1:300] <- myfiles[[1:100]]

Последняя часть не работает. Любые идеи?


person cryptic0    schedule 15.02.2013    source источник


Ответы (1)


Следующие элементы должны cbind все элементы списка:

do.call(cbind, myfiles)
person sebastian-c    schedule 15.02.2013
comment
Привязка работает, но я все еще не могу записать объект в ptamat. - person cryptic0; 15.02.2013
comment
Вы можете просто заменить ptamat, назначив ему, заранее объявлять его не нужно. - person sebastian-c; 15.02.2013
comment
Если вас беспокоит скорость, вы можете заменить свой read.table на scan, как в этой ссылке: tolstoy.newcastle.edu.au/R/help/06/06/29899.html - person sebastian-c; 15.02.2013
comment
Это работает. ptamat ‹- myfiles, затем write.table (file = 'ptamat.txt', ptamat) сделал это. Спасибо. - person cryptic0; 15.02.2013
comment
Я полагаю, вы сделали myfiles <- do.call(cbind, myfiles). - person sebastian-c; 15.02.2013