R: изменить имена столбцов нескольких таблиц - PullRequest
3 голосов
/ 29 июня 2011

Я прочитал несколько .csv и теперь хочу изменить все имена столбцов в цикле. Я мог только узнать, как изменить имена одной таблицы:

colnames(w01_10temp) <- c("date", "time", "temp", "na") 

Мне также нужны файлы .csv в R. До этого у меня было:

filenames <- list.files(path=getwd()) 
numfiles <- length(filenames) 
for (all_temp in c(1:numfiles)) {
filenames[all_temp] <- paste(filenames[all_temp],sep="")
assign(gsub([.]ASC$","temp",filenames[all_temp]),read.delim2(filenames[all_temp], fileEncoding="ISO-8859-15", skip = 4))    }

Поэтому я безуспешно пытался поставить пометку в цикл:

for (all_temp in lapply(filenames,myReadTable)) {
  filenames[all_temp] <- paste(filenames[all_temp],sep="")
  }

1 Ответ

7 голосов
/ 29 июня 2011

Написать функцию-обертку:

myReadTable<-function(file){
 read.table(file,...)->x
 names(x)<-c("date","time","temp","na")
 return(x)
}

А затем lapply над вектором имени файла, чтобы получить список фреймов данных (это гораздо более управляемо, чем использование глобальных переменных).

lapply(c('fileA.csv','fileB.csv','fileC.csv'),myReadTable)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...