Ich schreibe den Code, um die Daten von Uncomtrade-eine UN-Datenbank zu erhalten. Da die Datenbank ein Nutzungslimit von 100 Anfragen/Stunde hat, muss ich eine Zeit da draußen verbringen. Ich mag den Code mit TryCatch schreiben, das wird:Complex tryCatch in Schleife-R
- automatisch eingestellten Programme jedes Mal der Fehler für max Limit Zeitüberschreitung
- Rerun für das aktuelle Niveau von i, j und k, wenn ein Verbindungsfehler orcurs erscheint
Mein aktueller Code funktioniert immer noch, obwohl, aber ich möchte lernen, wie TryCatch zu zu verwenden und auch ist es eine Möglichkeit, die loszuwerden für Schleifen. Kann die Apply-Familienfunktion hier verwendet werden? Danke Jungs
n=0
a<-c()
for (i in (1996:2014)) {
for (j in c("0301","0302","0303","0304","0305","0306","0307","0308")) {
for (k in c("704","116","360","418","458","104","608","702","764")) {
s2<-paste(i,j,k,sep="")
a<-c(a,s2)
print (s2)
n<-n+1
if(n<=100) {
s1 <- get.Comtrade(r=k, ps=i, rg="2", cc=j, fmt="csv",px="H0")
Sys.sleep (1)
s1<-do.call(rbind.data.frame,s1)
library(foreign)
write.dta(s1,file=paste("D:/unTrade/",s2,".dta"))
}
else {
print(n)
print(s2)
print("reset here")
n=0
Sys.sleep(3610)
}
}
}
}
danke. speicherte deine Antworten für späteren Gebrauch :) – Mathnoob