J'écris le code pour obtenir les données de Uncomtrade - une base de données des Nations Unies. Parce que la base de données a une limite d'utilisation de 100 demandes/heure, je dois donc y mettre un peu de temps. Je veux écrire le code avec TryCatch qui:Complex tryCatch in loop-R
- programmes automatiquement réglée à l'heure à chaque fois que l'erreur de limite max apparaît
- Relancez le niveau actuel de i, j et k si un orcurs d'erreur de connexion
Mon code actuel fonctionne toujours bien, mais je veux apprendre à utiliser TryCatch trop Et est-il un moyen de se débarrasser des boucles pour. La fonction famille d'application peut-elle être utilisée ici? Merci les gars
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)
}
}
}
}
merci. enregistré vos réponses pour un usage ultérieur :) – Mathnoob