-2

我希望在每个文件中更改一个列名(第 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)

正如我提到的,我尝试了不同类型的应用,但无济于事。有没有不同的方法来解决这个问题?欢迎大家提出意见。

4

2 回答 2

1

You have to call names another 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
于 2012-08-15T15:33:45.650 回答
0

Split the names out first, then alter, then assign as a group. Like,

new.names <- names( data )
new.names[[14]] <- `column14`
names( data ) <- new.names
于 2012-08-15T15:32:53.427 回答