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)