pyramid | R Documentation |
Create a population pyramid from age and sex
pyramid (age, sex, binwidth = 5, inputTable = NULL, printTable = FALSE, percent = "none", col.gender = NULL, bar.label = "auto", decimal = 1, col = NULL, cex.bar.value = 0.8, cex.axis = 1, main = "auto", cex.main = 1.2, ...)
age |
a numeric variable for age |
sex |
a variable of two levels for sexes, can be numeric but preferrably factor with labelled levels or characters |
binwidth |
bin width of age for each bar |
inputTable |
a table to read in with two columns of sexes and rows of age groups |
printTable |
whether the output table should be displayed on the console |
percent |
whether the lengths of the bars should be calculated from freqencies ("none" as default), percent of "each" sex or "total"" percentages |
col.gender |
vector reflecting colours of the two gender |
bar.label |
whether the bars would be labelled with the values |
decimal |
number of decimals displayed in the percent output table |
col |
colour(s) of the bars |
cex.bar.value |
character extension factor of the bar labels |
cex.axis |
character extension factor of the axis |
main |
main title |
cex.main |
character extension factor of main title |
... |
graph options for the bars, e.g. col |
'pyramid' draws a horizontal bar graph of age by sex.
The parameters of graph (par) options can be applied to 'font.lab' and those of the bars, e.g. 'col' but not of others.
Other lower level graph commands should be only for adding a 'title'.
'bar.label' when set as "auto", will be TRUE when 'percent="each"' or 'percent="total"'
When the variables age and sex are input arguments, the return object includes age group variable and the output table. The argument 'decimal' controls only decimals of the output displayed on the console but not the returned table.
Virasakdi Chongsuvivatwong cvirasak@gmail.com
'barplot', 'levels', 'table'
data(Oswego) .data <- Oswego attach(.data) pyramid(age, sex) pyramid(age, sex, bar.label = TRUE) pyramid(age, sex, printTable=TRUE) pyramid(age, sex, percent = "each", printTable=TRUE) pyramid(age, sex, percent = "total", printTable=TRUE) pyramid(age, sex, percent = "total", bar.label = FALSE) pyramid(age, sex, percent = "total", cex.bar.value = .5) pyramid(age, sex, col="red") pyramid(age, sex, col=1:16) # Too colorful! pyramid(age, sex, col.gender = c("pink","lightblue")) output <- pyramid(age, sex, binwidth = 10, percent="each", decimal=2) agegr <- output$ageGroup detach(.data) rm(list=ls()) # Drawing population pyramid from an exisiting table pyramid(inputTable=VADeaths[,1:2], font.lab=4) pyramid(inputTable=VADeaths[,1:2], font.lab=4, main=NULL) title("Death rates per 100 in rural Virginia in 1940")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.