This function checks if the data are balanced, i.e., if each individual has the same time periods
is.pbalanced(x,...)## Default S3 method:is.pbalanced(x, y,...)## S3 method for class 'data.frame'is.pbalanced(x, index =NULL,...)## S3 method for class 'pdata.frame'is.pbalanced(x,...)## S3 method for class 'pseries'is.pbalanced(x,...)## S3 method for class 'pggls'is.pbalanced(x,...)## S3 method for class 'pcce'is.pbalanced(x,...)## S3 method for class 'pmg'is.pbalanced(x,...)## S3 method for class 'pgmm'is.pbalanced(x,...)## S3 method for class 'panelmodel'is.pbalanced(x,...)
Arguments
x: an object of class pdata.frame, data.frame, pseries, panelmodel, or pgmm,
...: further arguments.
y: (only in default method) the time index variable (2nd index variable),
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(),
Returns
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.
Examples
# 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: FALSEpdim(Grunfeld_missing_period)$balanced # same# pdata.frame interfacepGrunfeld_missing_period <- pdata.frame(Grunfeld_missing_period)is.pbalanced(Grunfeld_missing_period)# pseries interfaceis.pbalanced(pGrunfeld_missing_period$inv)
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().