returns a subsample of a panel data set; in particular drops
all observations that are not in keepids
. If it is not set,
randomly keeps nkeep
observations.
subsample(dta, idname, tname, keepids = NULL, nkeep = NULL)
a data.frame which is a balanced panel
the name of the id variable
the name of the time variable
which ids to keep
how many ids to keep (only used if keepids
is not set); the default is the number of unique ids
a data.frame that contains a subsample of dta
if(!requireNamespace("plm")) {
if(interactive() || is.na(Sys.getenv("_R_CHECK_PACKAGE_NAME_", NA))) {
stop("package 'plm' is required for this example")
} else q() }
data("LaborSupply", package="plm")
nrow(LaborSupply)
#> [1] 5320
unique(LaborSupply$year)
#> [1] 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988
ss <- subsample(LaborSupply, "id", "year", nkeep=100)
nrow(ss)
#> [1] 1000