1

私はRを使用していますが、この質問はRに固有のものではありません。反復ごとに URL をダウンロードするループを作成したとします。このデータを保存したいので、反復ごとに保存するか、情報を保持して n 回ごとに保存できます。これを行うための一般的な経験則はありますか? 常に書き込みのためにファイルを開いたり閉じたりするのはどれくらい遅いですか? 私が念頭に置いているのは

for (i in 1:1000) {
   data <- url("http://...i")
   write.table(data, file="file")
}

対このようなもの

data <- list()
length(data) <- 20
j <- 1
for (i in 1:1000) {
   data[j] <-url("http://...i")
   j <- j+1
   if (j = 20) {j <-1}
   if (i %% 20 == 0) {
      write.table(data, file="file")
      }
   }
4

1 に答える 1

0

ダウンロードしたすべてのデータが同じ形式でappendある場合、それらを一意のファイルに保存したい場合があります。この場合、反復ごとにそれを行うことができます。以下に短い例を示します。

sites<-c("714A","715A","716A")
for(i in 1:length(sites)){
    data<-read.table(file=paste("http://www.ngdc.noaa.gov/mgg/geology/odp/data/115/",sites[i],"paleomag.txt",sep="/"),sep="\t",header=TRUE)
    #In this example i downloaded paleomagnetic data from deep sea drilling sites.
    ifelse(i==1,h<-TRUE,h<-FALSE)  #Here the idea is that we want to output the column names only the first time.
    write.table(data,file="paleomag_leg115.txt",sep="\t",append=!h,col.names=h,row.names=FALSE)
    }
于 2012-06-21T07:22:07.160 に答える