
Last chance! 50% off unlimited learning
Sale ends in
A class for panel series for which several useful computations and data transformations are available.
# S3 method for pseries
print(x, ...)# S3 method for pseries
as.matrix(x, idbyrow = TRUE, ...)
# S3 method for pseries
plot(x, plot = c("lattice", "superposed"),
scale = FALSE, transparency = TRUE, col = "blue", lwd = 1, ...)
# S3 method for pseries
summary(object, ...)
# S3 method for summary.pseries
plot(x, ...)
# S3 method for summary.pseries
print(x, ...)
Between(x, ...)
# S3 method for default
Between(x, effect, ...)
# S3 method for pseries
Between(x, effect = c("individual", "time", "group"),
...)
# S3 method for matrix
Between(x, effect, ...)
between(x, ...)
# S3 method for default
between(x, effect, ...)
# S3 method for pseries
between(x, effect = c("individual", "time", "group"),
...)
# S3 method for matrix
between(x, effect, ...)
Within(x, ...)
# S3 method for default
Within(x, effect, ...)
# S3 method for pseries
Within(x, effect = c("individual", "time", "group",
"twoways"), ...)
# S3 method for matrix
Within(x, effect, rm.null = TRUE, ...)
a pseries
or a summary.pseries
object,
further arguments, e. g. na.rm = TRUE
for
transformation functions like beetween
, see Details
and Examples.
if TRUE
in the as.matrix
method, the lines of
the matrix are the individuals,
plot arguments,
character string indicating the "individual"
or
"time"
effect,
if TRUE
, for the Within.matrix
method, remove
the empty columns,
All these functions return an object of class pseries
,
except: between
, which returns a numeric vector,
as.matrix
, which returns a matrix.
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.
is.pseries()
to check if an object is a pseries. For
more functions on class 'pseries' see lag()
, lead()
,
diff()
for lagging values, leading values (negative lags) and
differencing.
# NOT RUN {
# 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
# }
Run the code above in your browser using DataLab