# pdim

##### Check for the Dimensions of the Panel

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

- Keywords
- attribute

##### Usage

`pdim(x, ...)`# S3 method for default
pdim(x, y, ...)

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

# S3 method for pdata.frame
pdim(x, ...)

# S3 method for pseries
pdim(x, ...)

# S3 method for panelmodel
pdim(x, ...)

# S3 method for pgmm
pdim(x, ...)

# S3 method for pdim
print(x, ...)

##### Arguments

- x
a

`data.frame`

, a`pdata.frame`

, a`pseries`

, a`panelmodel`

, or a`pgmm`

object,- …
further arguments.

- y
a vector,

- index
see

`pdata.frame()`

,

##### 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:

a list containing `n`

, the number of individuals, `T`

,
the number of time observations, `N`

the total number of
observations,

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,

a logical value: `TRUE`

for a balanced panel,
`FALSE`

for an unbalanced panel,

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.

##### 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

```
# NOT RUN {
# 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)
# }
```

*Documentation reproduced from package plm, version 2.2-5, License: GPL (>= 2)*