This function coerces a tibble, data.frame, or list to a pibble tibble by adding the .i, .t, and .d attributes to it.

as_pibble(x, .i = NULL, .t = NULL, .d = 1, .uniqcheck = FALSE, ...)

# S3 method for tbl_df
as_pibble(x, .i = NULL, .t = NULL, .d = 1, .uniqcheck = FALSE, ...)

# S3 method for grouped_df
as_pibble(x, .i = NULL, .t = NULL, .d = 1, .uniqcheck = FALSE, ...)

# S3 method for data.frame
as_pibble(x, .i = NULL, .t = NULL, .d = 1, .uniqcheck = FALSE, ...)

# S3 method for list
as_pibble(x, .i = NULL, .t = NULL, .d = 1, .uniqcheck = FALSE, ...)

## Arguments

x A data frame, tibble or list Quoted or unquoted variable(s) that identify the individual cases. If this is omitted, pibble will assume the data set is a single time series. Quoted or unquoted variable indicating the time. pmdplyr accepts two kinds of time variables: numeric variables where a fixed distance .d will take you from one observation to the next, or, if .d=0, any standard variable type with an order. Consider using the time_variable() function to create the necessary variable if your data uses a Date variable for time. Number indicating the gap in t between one period and the next. For example, if .t indicates a single day but data is collected once a week, you might set .d=7. To ignore gap length and assume that "one period ago" is always the most recent prior observation in the data, set .d=0. By default, .d=1. Logical parameter. Set to TRUE to perform a check of whether .i and .t uniquely identify observations, and present a message if not. By default this is set to FALSE and the warning message occurs only once per session. Other arguments passed on to individual methods.

## Details

• .i, Quoted or unquoted variable(s) indicating the individual-level panel identifier

• .t, Quoted or unquoted variable indicating the time variable

• .d, a number indicating the gap

Note that pibble does not require that .i and .t uniquely identify the observations in your data, but it will give a warning message (a maximum of once per session, unless .uniqcheck=TRUE) if they do not.

## Examples

data(SPrail)
# I set .d=0 here to indicate that I don't care how large the gap
# between one period and the next is.
# If I want to use 'insert_date' for .t with a fixed gap between periods,
# I need to transform it into an integer first; see time_variable()
SP <- as_pibble(SPrail,
.i = c(origin, destination),
.t = insert_date,
.d = 0
)#> Note that the selected .i and .t do not uniquely identify observations in the data.
#> This message will be displayed only once per session unless the .uniqcheck option is set to TRUE.is_pibble(SP)#> .i = origin, destination; .t = insert_date; .d = 0.#> [1] TRUEattr(SP, ".i")#>        origin   destination
#>      "origin" "destination" attr(SP, ".t")#>   insert_date
#> "insert_date" attr(SP, ".d")#> [1] 0
data(Scorecard)
# Here, year is an integer, so I can use it with .d = 1 to
# indicate that one period is a change of one unit in year
# Conveniently, .d = 1 is the default
Scorecard <- as_pibble(Scorecard, .i = unitid, .t = year)
is_pibble(Scorecard)#> .i = unitid; .t = year; .d = 1.#> [1] TRUE