pyramid {epiDisplay} | R Documentation |
Population pyramid
Description
Create a population pyramid from age and sex
Usage
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, ...)
Arguments
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 |
Details
'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"'
Value
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.
Author(s)
Virasakdi Chongsuvivatwong cvirasak@gmail.com
See Also
'barplot', 'levels', 'table'
Examples
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")