R:更改多个表的列名

标签 r

我读入了多个 .csv,现在想循环更改所有列名。我只能找出如何更改单个表的名称:

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

我还需要 R 中的 .csv 文件。在我拥有之前:

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))    }

所以我尝试将 lapply 放入循环中,但没有成功:

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

最佳答案

编写一个包装函数:

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)

关于R:更改多个表的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6519140/

相关文章:

使用不同的因变量重复回归

r - 如何绘制 geom_tile 图

r - 在特定时间范围内突出显示(阴影)绘图背景

r - R中的格式日期(年-月)

python - R 的 browser() 在 Python 中等效

r - R ggplot中 map 多边形的标签中心

r - 将函数应用于列表中所有数据框的某些列,然后为列赋值

r - 给定任意表达式或字符串,确定运行表达式所需的变量

r - 根据水年创建日指数

r - 如何匹配R中列之间的多个对应值