Чтение списка файлов в R
В R я пытаюсь обработать несколько файлов, используя цикл. Файл содержит пути многих других файлов, которые содержат данные для вычисления. Может кто-нибудь сказать мне простой сценарий, чтобы сделать это?
list.txt:
/data/tmp/b.dat
/data/tmp/c.dat
/data/tmp/d.dat
внутри б.дата:
1 15.30 20.30 15.0
2 7.3 5.0 2.0
...
n 5.0 2.0 6.0
Тем временем данные обрабатываются для каждой строки. Как данные могут быть транспонированы?
1 ответ
Решение
Вот одна строка:
lapply(scan("list.txt",""), read.table,sep=" ", row.names=1)
Краткое объяснение: scan("list.txt","")
сканирует ваш файл, содержащий список местоположений (разделенных пробелами) и выводит их в виде вектора символов (из-за ""
) затем с lapply
Вы применяете к каждому из этих мест функцию read.table
с правильным разделителем и другими необходимыми аргументами. Окончательный результат - список наборов данных.