Заменить имена столбцов на имена файлов соответствующих файлов в папке

У меня 200 файлов в одной папке выглядит как chin01.txt, chin02.txt и т. Д. каждая таблица read.table каждого файла.txt создает строку данных по 2 столбцам с именами столбцов и строк.

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

files_all <- list.files(path="D:\R\C_test", pattern="*.txt", full.names=T, recursive=FALSE)

for (currentFile in files_all){
  file <- read.table(currentFile, header=F)
  columnames(file) <- c(**name of currentFile such as chin001**,"depth")
  write.table(file, file=sub(pattern=".txt$", replacement="_new.txt", x=currentFile),sep="\t", quote=F, row.names=T, col.names=T)
}

но я не знаю, как написать имя currentFile, например, часть chin001, спасибо за любой ответ

1 ответ

Удалите часть.txt из имени файла (есть много способов сделать это), затем замените имя первого столбца этим именем.

currentFile <- sub(".txt", "", file) # file could be e.g. filename.txt
names(file)[1] <- currentFile
Другие вопросы по тегам