R скрипт для извлечения строк из нескольких текстовых файлов

В моем каталоге 900 текстовых файлов, как показано на следующем рисунке

введите описание изображения здесь

каждый файл состоит из данных в следующем формате

667869 667869.000000 
580083 580083.000000 
316133 316133.000000 
11065 11065.000000 

Я хотел бы извлечь четвертую строку из каждого текстового файла и сохранить значения в массиве, любые предложения приветствуются

2 ответа

Ленивый ответ:

array <- c()  
for (file in dir()) {  
  row4 <- read.table(file,
                     header = FALSE,
                     row.names = NULL,
                     skip = 3,  # Skip the 1st 3 rows
                     nrows = 1,  # Read only the next row after skipping the 1st 3 rows
                     sep = "\t")  # change the separator if it is not "\t"  
  array <- cbind(array, row4)
}

Вы можете также сохранить имя файлов

colnames(array) <- dir()

Это больше похоже на вопрос Stackru, похожий на Импорт нескольких файлов.csv в R

Вы можете попробовать что-то вроде:

setwd ("/ путь / к / файлам")

файлы <- list.files (path = getwd (), recursive = FALSE)

головка (файлы)

myfiles = lapply (файлы, функция (x), read.csv(файл = x, заголовок = TRUE))

mydata = lapply (myfiles, FUN = function (df) {df [4,]}) str (mydata)

do.call (rbind, mydata)

Другие вопросы по тегам