O erro listado é por atribuir ao parâmetro pch o objeto 'membros' que não existe ou não está acessível (veja seu arquivo de dados e declarações).
Acredito que a ideia seria diferenciar os pontos (tipos) de acordo com o valor em membros...
Acredito que o exemplo que segue faça algo parecido com o que você deseja, embora usando somente a biblioteca sp().
Inclui os pontos que você forneceu.
require(sp)
class(br.df); head(br.df); str(br.df)
br.lin <- Lines(list(Line(br.df)), ID = "Brasil")
br.sl <- SpatialLines(list(br.lin))
proj4string(
br.sl) <- CRS('+proj=longlat +datum=WGS84')
est.x <- c(-53.35,-55.60,-51.80,-51.05,-50.13,-52.41,-52.10,-52.51)
est.y <- c(-33.51,-30.83,-29.45,-29.68,-29.05,-31.78,-32.03,-30.53)
est.df <- data.frame(est.x,est.y,
est.id)
est.sp <- est.df
coordinates(est.sp) <- c('est.x','est.y')
proj4string(
br.sl) <- CRS('+proj=longlat +datum=WGS84')
est.sp
#png(filename="c:/temp/mapa.png",width=600,height=800)
plot(est.sp, pch=21, bg=3, add=T)
#dev.off()