Skip to contents

This function takes a time-invariant variable and repeats it for each period in a panel data set.

Usage

time_invariant_to_panel(x, df, idname, balanced_panel = TRUE)

Arguments

x

a vector of length equal to the number of unique ids in df.

df

the data.frame used in the function

idname

name of column that holds the unit id

balanced_panel

a logical indicating whether the panel is balanced. If TRUE, the function will optimize the repetition process. Default is TRUE.

Value

a vector of length equal to the number of rows in df.

Examples

n <- 50
id <- rep(seq_len(n), each = 4)
t <- rep(1:4, n)
dta <- data.frame(id = id, t = t)
x_unit <- rnorm(n)
x_panel <- time_invariant_to_panel(x_unit, dta, idname = "id")
length(x_panel) ## n * 4
#> [1] 200