pdim {plm} | R Documentation

## Check for the Dimensions of the Panel

### Description

This function checks the number of individuals and time observations in the panel and whether it is balanced or not.

### Usage

    pdim(x, ...)
    ## S3 method for class 'data.frame'
    pdim(x, index = NULL, ...)
    ## S3 method for class 'panelmodel'
    pdim(x, ...)
    ## S3 method for class 'pseries'
    pdim(x, ...)
    ## S3 method for class 'pdata.frame'
    pdim(x, ...)
    ## S3 method for class 'pgmm'
    pdim(x, ...)

### Arguments

`x` | a `data.frame`, a `pdata.frame`, a `pseries`, a `panelmodel`, or a `pgmm` object,
`index` | see `pdata.frame`,
`...` | further arguments.

### Details

`pdim` is called by the estimation functions and can be also used stand-alone.

### Value

An object of class `pdim` containing the following elements:

`nT` | a list containing `n`, the number of individuals, `T`, the number of time observations, `N` the total number of observations,
`Tint` | a list containing two vectors (of type integer): `Ti` gives the number of observations for each individual and `nt` gives the number of individuals observed for each period,
`balanced` | a logical value: `TRUE` for a balanced panel, `FALSE` for an unbalanced panel,
`panel.names` | a list of character vectors: `id.names` contains the names of each individual and `time.names` contains the names of each period.

### Note

Calling `pdim` on an estimated `panelmodel` object and on the corresponding `(p)data.frame` used for this estimation does not necessarily yield the same result. When called on an estimated `panelmodel`, the number of observations (individual, time) actually used for model estimation are taken into account. When called on a `(p)data.frame`, the rows in the `(p)data.frame` are considered, disregarding any NA values in the dependent or independent variable(s) which would be dropped during model estimation.

### Author(s)

Yves Croissant

### See Also

`is.pbalanced` to just determine balancedness of data (slightly faster than `pdim`),
`punbalancedness` for measures of unbalancedness,
`nobs`, `pdata.frame`,
`pvar` to check for each variable if it varies cross-sectionally and over time.

### Examples

    # There are 595 individuals
    data("Wages", package = "plm")
    pdim(Wages, 595)

    # Gasoline contains two variables which are individual and time indexes
    # and are the first two variables
    data("Gasoline", package="plm")
    pdim(Gasoline)

    # Hedonic is an unbalanced panel, townid is the individual index
    data("Hedonic", package = "plm")
    pdim(Hedonic, "townid")

    # An example of the panelmodel method
    data("Produc", package = "plm")
    z <- plm(log(gsp)~log(pcap)+log(pc)+log(emp)+unemp,data=Produc,
             model="random", subset = gsp > 5000)
    pdim(z)

[Package plm version 1.6-6 Index]