plm (version 2.0-2)

is.pbalanced: Check if data are balanced

Description

This function checks if the data are balanced, i.e. if each individual has the same time periods

Usage

is.pbalanced(x, ...)

# S3 method for default is.pbalanced(x, y, ...)

# S3 method for data.frame is.pbalanced(x, index = NULL, ...)

# S3 method for pdata.frame is.pbalanced(x, ...)

# S3 method for pseries is.pbalanced(x, ...)

# S3 method for panelmodel is.pbalanced(x, ...)

# S3 method for pgmm is.pbalanced(x, ...)

Arguments

x

an object of class pdata.frame, data.frame, pseries, panelmodel, pgmm;

further arguments.

y

to describe

index

only relevant for data.frame interface; if NULL, the first two columns of the data.frame are assumed to be the index variables; if not NULL, both dimensions ('individual', 'time') need to be specified by index as character of length 2 for data frames, for further details see pdata.frame(),

Value

A logical indicating whether the data associated with object x are balanced (TRUE) or not (FALSE).

Details

Balanced data are data for which each individual has the same time periods. The returned values of the is.pbalanced(object) methods are identical to pdim(object)$balanced. is.pbalanced is provided as a short cut and is faster than pdim(object)$balanced because it avoids those computations performed by pdim which are unnecessary to determine the balancedness of the data.

See Also

punbalancedness() for two measures of unbalancedness, make.pbalanced() to make data balanced; is.pconsecutive() to check if data are consecutive; make.pconsecutive() to make data consecutive (and, optionally, also balanced). pdim() to check the dimensions of a 'pdata.frame' (and other objects), pvar() to check for individual and time variation of a 'pdata.frame' (and other objects), pseries(), data.frame(), pdata.frame().

Examples

Run this code
# NOT RUN {
# take balanced data and make it unbalanced
# by deletion of 2nd row (2nd time period for first individual)
data("Grunfeld", package = "plm")
Grunfeld_missing_period <- Grunfeld[-2, ]
is.pbalanced(Grunfeld_missing_period)     # check if balanced: FALSE
pdim(Grunfeld_missing_period)$balanced    # same

# pdata.frame interface
pGrunfeld_missing_period <- pdata.frame(Grunfeld_missing_period)
is.pbalanced(Grunfeld_missing_period)

# pseries interface
is.pbalanced(pGrunfeld_missing_period$inv)

# }

Run the code above in your browser using DataLab