svyplot {survey} | R Documentation |

Because observations in survey samples may represent very different
numbers of units in the population ordinary plots can be misleading.
The `svyplot`

function produces scatterplots adjusted in various ways
for sampling weights.

svyplot(formula, design,...) ## Default S3 method: svyplot(formula, design, style = c("bubble", "hex", "grayhex","subsample","transparent"), sample.size = 500, subset = NULL, legend = 1, inches = 0.05, amount=NULL, basecol="black", alpha=c(0, 0.8),xbins=30,...)

`formula` |
A model formula |

`design` |
A survey object (svydesign or svrepdesign) |

`style` |
See Details below |

`sample.size` |
For |

`subset` |
expression using variables in the design object |

`legend` |
For |

`inches` |
Scale for bubble plots |

`amount` |
list with |

`basecol` |
base color for transparent plots, or a function to compute the color (see below), or color for bubble plots |

`alpha` |
minimum and maximum opacity for transparent plots |

`xbins` |
Number of (x-axis) bins for hexagonal binning |

`...` |
Passed to |

Bubble plots are scatterplots with circles whose area is proportional
to the sampling weight. The two "hex" styles produce hexagonal
binning scatterplots, and require the `hexbin`

package from
Bioconductor. The "transparent" style plots points with opacity
proportional to sampling weight.

The `subsample`

method uses the sampling weights to create a
sample from approximately the population distribution and passes this to `plot`

Bubble plots are suited to small surveys, hexagonal binning and transparency to large surveys where plotting all the points would result in too much overlap.

`basecol`

can be a function taking one data frame argument, which
will be passed the data frame of variables from the survey object.
This could be memory-intensive for large data sets.

None

Korn EL, Graubard BI (1998) "Scatterplots with Survey Data" The American Statistician 52: 58-69

Lumley T, Scott A (2017) "Fitting Regression Models to Survey Data" Statistical Science 32: 265-278

`symbols`

for other options (such as colour) for bubble
plots.

`svytable`

for plots of discrete data.

data(api) dstrat<-svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc) svyplot(api00~api99, design=dstrat, style="bubble") svyplot(api00~api99, design=dstrat, style="transparent",pch=19) ## these two require the hexbin package svyplot(api00~api99, design=dstrat, style="hex", xlab="1999 API",ylab="2000 API") svyplot(api00~api99, design=dstrat, style="grayhex",legend=0) dclus2<-svydesign(id=~dnum+snum, weights=~pw, data=apiclus2, fpc=~fpc1+fpc2) svyplot(api00~api99, design=dclus2, style="subsample") svyplot(api00~api99, design=dclus2, style="subsample", amount=list(x=25,y=25)) svyplot(api00~api99, design=dstrat, basecol=function(df){c("goldenrod","tomato","sienna")[as.numeric(df$stype)]}, style="transparent",pch=19,alpha=c(0,1)) legend("topleft",col=c("goldenrod","tomato","sienna"), pch=19, legend=c("E","H","M")) ## For discrete data, estimate a population table and plot the table. plot(svytable(~sch.wide+comp.imp+stype,design=dstrat)) fourfoldplot(svytable(~sch.wide+comp.imp+stype,design=dstrat,round=TRUE)) ## To draw on a hexbin plot you need grid graphics, eg, library(grid) h<-svyplot(api00~api99, design=dstrat, style="hex", xlab="1999 API",ylab="2000 API") s<-svysmooth(api00~api99,design=dstrat) grid.polyline(s$api99$x,s$api99$y,vp=h$plot.vp@hexVp.on,default.units="native", gp=gpar(col="red",lwd=2))

[Package *survey* version 4.1-1 Index]