我有一些文件的列表,其中包含一些我想讀入R的數據,然後遍歷每個文件進行一些計算。 到目前爲止,我能夠用下面的代碼讀取文件:R - 遍歷文件列表
方法一
filenames<-list.files(pattern="*.txt")
mynames<-gsub(".txt$", "", filenames)
for (i in 1:length(mynames)) assign(mynames[i], read.table(filenames[i]))
然而,當我嘗試應用一些功能,以「名」它只是說,NULL
lapply(mynames,nrow)
我知道將文件直接讀入列表可能更容易
METHOD2
temp<-list.files(pattern="*.txt")
myfiles<-lapply(temp, read.table,skip="#")
,然後做lapply該名單lapply(myfiles,nrow)
,但這只是鬆動有關的文件製作的每個列表中的信息。
有沒有辦法繞過這兩種方法來跟蹤關係列表文件?
感謝
我想說的內容'names'是一個向量的內容,不是列表,你可以用'is.list(names)'來檢查。順便說一下,不是一個很好的主意,因爲它已經是一個函數... – Cath 2014-10-28 12:40:21
@CathG謝謝,更正名稱爲mynames。 is.list(mynames)返回FALSE,但即使我做了「mynames <-as.list(mynames)」,然後是「lapply(mynames,nrow)」,仍然對所有元素返回NULL。 – PedroA 2014-10-28 12:45:29
我並不感到驚訝。你最好使用sapply,因爲mynames是一個向量,但無論如何,mynames是data.frame名稱,而不是data.frames,所以它們沒有行... – Cath 2014-10-28 12:48:20