我希望在每个文件中更改列名称之一(第14列),但我无法确定如何处理它。我已经尝试了多种应用,但是这种方法不起作用,我不知道从哪里开始寻找另一种方法。这里是我的代码到目前为止:在R中适用于更改列名称
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)
正如我所提到的,我试过不同类型的应用,但无济于事。有没有不同的方式去做这件事?欢迎大家提出意见。
我在你的最后一个问题中提到这一点,但你要通过你的两个'sapply'的专业体操然后'lapply'步骤是不必要的。只需使用一行'lapply'(File.names,read.table,sep ='\ t',header = TRUE)'。然而,它不工作的原因是因为你在一个函数内部读取了你的数据,但是从来没有把这个函数的输出分配给任何东西。添加一个'data < - lapply(...',你将得到一个data.frames列表,然后你需要再次使用'lapply'来改变名字 – Justin 2012-08-15 15:29:13
@Justin如果我试图将两行合并成一个,如你所说:data <-lapply(File.names,read.table,sep ='\ t',header = TRUE) lapply(names(data)[14] < - 'column14') 我得到一个错误在FUN(“/ home/Stephanie/Data/sample 2.ra.rc.bam.EXOME.DOC.sample_interval_summary”[[1L]],:列列数多于列名称 – Stephopolis 2012-08-15 15:42:00
@Stephopolis它看起来像你的击中你的头靠在墙上,并一次又一次地询问同样的东西(根据先前的问题)。也许将你的代码分解成功能部分,然后询问关于该部分的具体问题会有帮助吗?能够重现准确性的人越多问题越多,将在帮助。 – Thell 2012-08-15 15:45:13