pyramid: Population pyramid

pyramidR 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")

epiDisplay documentation built on May 18, 2022, 5:11 p.m.