bootLexis: Create a bootstrap sample of persons (as identified by...

View source: R/bootLexis.R

bootLexisR Documentation

Create a bootstrap sample of persons (as identified by lex.id) from a Lexis object

Description

lex.id is the person identifier in a Lexis object. This is used to sample persons from a Lexis object. If a person is sampled, all records from this persons is transported to the bootstrap sample.

Usage

nid( Lx, ... )
## S3 method for class 'Lexis'
nid( Lx, by=NULL, ... )
bootLexis( Lx, size = NULL, by = NULL, replace=TRUE )

Arguments

Lx

A Lexis object.

...

Parameters passed on to other methods.

size

Numeric. How many persons should be sampled from the Lexis object. Defaults to the number of persons in the Lx, or, if by is given, to the number of persons in each level of by. If by is given, size can have length length(unique(by)), to indicate how many are sampled from each level of by.

by

Character. Name of a variable (converted to factor) in the Lexis object.

Bootstrap sampling is done within each level of by.

Calculation of the number of persons (lex.id) is done within each level of by, and a vector returned.

replace

Should persons be sampled by replacement? Default is TRUE. Setting replace to FALSE enables selecting a random subset of persons from the Lexis object.

Value

bootLexis returns a Lexis object of the same structure as the input, with persons bootstrapped. The variable lex.id in the resulting Lexis object has values 1,2,... The original values of lex.id from Lx are stored in the variable old.id.

nid counts the number of persons in a Lexis object, possibly by by. If by is given, a named vector is returned.

Author(s)

Bendix Carstensen, http://bendixcarstensen.com.

See Also

Relevel.Lexis,subset.Lexis

Examples

# A small bogus cohort
xcoh <- data.frame( id = c("A", "B", "C"),
                 birth = c("1952-07-14", "1954-04-01", "1987-06-10"),
                 entry = c("1965-08-04", "1972-09-08", "1991-12-23"),
                  exit = c("1997-06-27", "1995-05-23", "1998-07-24"),
                  fail = c(1, 0, 1),
                   sex = c("M","F","M") )

# Convert to calendar years
for( i in 2:4 ) xcoh[,i] <- cal.yr(xcoh[,i])
xcoh <- xcoh[sample(1:3, 10, replace = TRUE),]
xcoh$entry <- xcoh$entry + runif(10, 0, 10)
xcoh$exit  <- xcoh$entry + runif(10, 0, 10)

Lcoh <- Lexis(entry = list(per = entry),
               exit = list(per = exit,
                           age = exit - birth),
        exit.status = fail,
               data = xcoh)
Lcoh

Lx <- splitLexis(Lcoh, breaks = 0:10 * 10, "age")
Lx
nid(Lx)
nid(Lx, by="sex")
Lb <- bootLexis(Lx)
head(Lb)
nid(bootLexis(Lx, size = 7))
Li <- bootLexis(Lx, by = "id") # superfluous
summary(Lx)
summary(Li)
L2 <- bootLexis(Lx, by = "sex", size = c(2, 5))
nid(L2, by = "sex")
summary(L2, by = "sex")

Epi documentation built on Oct. 1, 2024, 5:07 p.m.

Related to bootLexis in Epi...