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