-1
我與MODIS 8天的數據時,我試圖一個MODIS產品的所有TXT文件導入R,而不是作爲一個單獨的data.frame,作爲單獨的txt文件。所以我可以在以後對它們應用相同的功能。主要目標是導出每個txt文件中的特定元素。我成功地排除從一個txt文件,用下面的命令所需的元素:導入多個txt文件爲R
# selecting the element within the table
idxs <- gsub("\\]",")", gsub("\\[", "c(", "[24,175], [47,977], [159,520], [163,530]
,[165,721], [168,56], [217,820],[243,397],[252,991],[284,277],[292,673]
,[322,775], [369,832], [396,872], [434,986],[521,563],[522,717],[604,554]
,[608,50],[614,69],[752,213],[780,535],[786,898],[788,1008],[853,1159],[1014,785],[1078,1070]"))
lst <- rbind(c(24,175), c(47,977), c(159,520), c(163,530) ,c(165,721), c(168,56), c(217,820),c(243,397),c(252,991),c(284,277),c(292,673),c(322,775), c(369,832), c(396,872), c(434,986),c(521,563),c(522,717),c(604,554),c(608,50),c(614,69),c(752,213),c(780,535),c(786,898),c(788,1008),c(853,1159),c(1014,785),c(1078,1070))
mat <- matrix(scan("lst.txt",skip = 6),nrow=1200)
Clist <- as.data.frame(mat[lst])
但我需要從所有txt文件的這些元素,老實說,我並不想手動運行它的871倍。所以我嘗試讀取所有的txt文件,然後將這個函數應用於它們。但不幸的是它不起作用。這裏是我的方法:
folder <- "C:/Users/Documents/R/MODIS/txt/"
txt_files <- list.files(path=folder, pattern=".txt")
df= c(rep(data.frame(), length(txt_files)))
for(i in 1:length(txt_files)) {df[[i]]<- as.list(read.table(txt_files[i]))}
,這是我遇到的錯誤:
**Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") :
cannot open file 'rastert_a2001361.txt': No such file or directory**
附加信息:每個txt文件包括1200rows和1200columns和20-30的元素需要從表格中抽出。
我非常期待您的回答和欣賞任何幫助或這件事的建議。
你肯定rastert_a2001361.txt'存在於指定的路徑文件'。 – Venky
嗨 是的,它存在。它不是一個特定的txt文件的問題。如果我刪除這個文件夾,它會命名文件夾中的另一個txt文件。 – AbTnA
看看格雷戈爾的[這篇文章]的答案(http://stackoverflow.com/questions/17499013/how-do-i-make-a-list-of-data-frames)的一些提示。 – lmo