| pseries {plm} | R Documentation |
A class for panel series for which several useful computations and data transformations are available.
between(x, ...)
Between(x, ...)
Within(x, ...)
## S3 method for class 'pseries'
between(x, effect = c("individual", "time"), ...)
## S3 method for class 'pseries'
Between(x, effect = c("individual", "time"), ...)
## S3 method for class 'pseries'
Within(x, effect = c("individual", "time"), ...)
## S3 method for class 'pseries'
summary(object, ...)
## S3 method for class 'summary.pseries'
print(x, ...)
## S3 method for class 'pseries'
as.matrix(x, idbyrow = TRUE, ...)
x, object |
a |
effect |
character string indicating the |
idbyrow |
if |
... |
further arguments, e. g. |
The functions between, Between, and Within perform specific
data transformations, i. e. the between and within transformation.
between returns a vector containing the individual means (over time) with the length of the
vector equal to the number of individuals (if effect = "individual" (default); if effect = "time",
it returns the time means (over individuals)). Between duplicates the values and returns a vector which
length is the number of total observations. Within returns a vector containing the
values in deviation from the individual means (if effect = "individual", from time means if effect = "time"),
the so called demeaned data.
For between, Between, and Within in presence of NA values it can
be useful to supply na.rm = TRUE as an additional argument to
keep as many observations as possible in the resulting transformation, see
also Examples.
All these functions return an object of class pseries, except:
between, which returns a numeric vector, as.matrix, which returns a matrix.
Yves Croissant
For more functions on class 'pseries' see lag, lead,
diff for lagging values, leading values (negative lags) and differencing.
# First, create a pdata.frame
data("EmplUK", package = "plm")
Em <- pdata.frame(EmplUK)
# Then extract a series, which becomes additionally a pseries
z <- Em$output
class(z)
# obtain the matrix representation
as.matrix(z)
# compute the between and within transformations
between(z)
Within(z)
# Between replicates the values for each time observation
Between(z)
# between, Between, and Within transformations on other dimension
between(z, effect = "time")
Between(z, effect = "time")
Within(z, effect = "time")
# NA treatment for between, Between, and Within
z2 <- z
z2[length(z2)] <- NA # set last value to NA
between(z2, na.rm = TRUE) # non-NA value for last individual
Between(z2, na.rm = TRUE) # only the NA observation is lost
Within(z2, na.rm = TRUE) # only the NA observation is lost
sum(is.na(Between(z2))) # 9 observations lost due to one NA value
sum(is.na(Between(z2, na.rm = TRUE))) # only the NA observation is lost
sum(is.na(Within(z2))) # 9 observations lost due to one NA value
sum(is.na(Within(z2, na.rm = TRUE))) # only the NA observation is lost