Buenos días, hago un mapa con ggplot: world<-map_data('world') windows();ggplot(legend=FALSE) + ... geom_point(data=Data,aes(x=lon,y=lat,color=Clst),size=1.25) + scale_color_manual(values=c("grey45","navy","skyblue","gold","green3","darkgreen")) + geom_path( data=world, aes(x=long, y=lat,group=group)) + labs(title = "Trophic Patterns - Full Data")+ guides(colour = guide_legend(override.aes = list(size=5))) después hago un loop con for: for (i in seq(from = -180, to = 170, by = 10)){ traindata <- subset(Data, lon < i|lon>= i+10) testdata <- subset(Data,(lon> i & lon<= i+10)) fitrp <- rpart(Clst ~ .- lon - lat, data=traindata,method = "class", cp=cpopt) print(i) prd <- predict(fitrp, testdata, type="class") # se aplica el modelo a las muestras test testdata$prd<-prd Preds<-rbind(Preds,testdata) } en vez de print(i), que me indica por dónde va el loop, me gustaría que me fuera añadiera una línea vertical al mapa en la longitud (lon) que corresponde a i. Muchas gracias por vuestra ayuda, como siempre, Manuel [[alternative HTML version deleted]]
> > > Buenas, como os decía, hago un mapa con ggplot (pongamos este más > sencillo): > > pyt<-ggplot(data, aes(x = longitud, y = latitud)) +geom_point(aes(color = factor(ptyrup))) windows(); pyt dentro del loop incluyo: pyt + geom_vline(xintercept = i), pero entonces me borra la linea anterior, y lo que yo pretendo es que me vaya añadiendo líneas sin borrar las anteriores. Con plot, en vez de ggplot era fácil (abline(v=i)), pero por más que busco no encuentro la forma de hacer lo mismo con ggplot, que el mapa queda mucho mejor. Gracias, Manuel> > en vez de print(i), que me indica por dónde va el loop, me gustaría que > me fuera añadiera una línea vertical al mapa en la longitud (lon) que > corresponde a i. > > Muchas gracias, > Manuel >[[alternative HTML version deleted]]
Creía haberlo solucionado con: pyt<-ggplot(data, aes(x = longitud, y = latitud)) + geom_point(aes(color = factor(ptyrup))) windows();pyt e incluyendo en el loop: pyt<-pyt+ geom_vline(xintercept = i) pyt Pero no. Es extraño, pues sale bien si hago yo las iteraciones, una a una, pero cuando hago el loop no dibuja las líneas ?.> Buenas, como os decía, hago un mapa con ggplot (pongamos este más > sencillo): > > pyt<-ggplot(data, aes(x = longitud, y = latitud)) +geom_point(aes(color = factor(ptyrup))) windows(); pyt dentro del loop incluyo: pyt + geom_vline(xintercept = i), pero entonces me borra la linea anterior, y lo que yo pretendo es que me vaya añadiendo líneas sin borrar las anteriores. Con plot, en vez de ggplot era fácil (abline(v=i)), pero por más que busco no encuentro la forma de hacer lo mismo con ggplot, que el mapa queda mucho mejor. Gracias, Manuel> > en vez de print(i), que me indica por dónde va el loop, me gustaría que > me fuera añadiera una línea vertical al mapa en la longitud (lon) que > corresponde a i. > > Muchas gracias, > Manuel >[[alternative HTML version deleted]]