在R中应用以更改列名称

时间:2012-08-15 15:24:20

标签: r apply

我希望在每个文件中更改一个列名(第14列),但我无法弄清楚如何去做。我尝试了多种应用,但这种方法不起作用,我不知道从哪里开始寻找另一种方法。到目前为止,这是我的代码:

File.names<-(tk_choose.files(default="", caption="Files", multi=TRUE, filters=NULL, index=1))
Num.Files<-NROW(File.names)
test<-sapply(1:Num.Files,function(x){readLines(File.names[x])})
lapply(1:Num.Files, function(x){data<-read.table(header=TRUE, text=test)})
#This is the issue
names(data)[14]<-'column14'
names(data)

正如我所提到的,我尝试了不同类型的申请,但无济于事。有没有不同的方式来解决这个问题?任何建议都会受到欢迎。

2 个答案:

答案 0 :(得分:0)

首先拆分名称,然后改变,然后分配为一个组。像,

new.names <- names( data )
new.names[[14]] <- `column14`
names( data ) <- new.names

答案 1 :(得分:0)

您必须致电names另一个lapply。 E.g:

l <- list(x=c(a=1, b=1), y=c(a=1, b=1))
l2 <- lapply(l, function(x) {
  names(x)[2] <- "d"
  return(x)
})

l2
#$x
#a d 
#1 1 
#
#$y
#a d 
#1 1