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]]