are_varying()can now also assess individual-level variation, so using the
type = "individual"argument you can instead assess variables like age that vary over time but change equally for every case.
wbm()can now handle transformed dependent variables (e.g.
log(y)). Transformations on the right-hand side of the equation were always supported.
panel_dataobjects are now quite a bit more difficult to break by accidentally subsetting the ID and wave columns out of existence. Now, subsetting via
select()and implicitly via
transmute()will never remove the ID and wave columns. You will also be warned if you
panel_dataobject since it will generally break
panel_dataobjects now store information about what the periods are for the data, which you can access with the
get_periods()function. For example, if the waves in your data are the numbers 1 through 7, that’s what you’ll get. This is more useful when the periods are irregular, such as if the waves are the years of a biennial survey.
wbm()in the formula without running into cryptic errors.
lag(x)) could not be included as a user-specified random effect. Pre-0.5.0, these could be included if they were surrounded by backticks, but now that hack is unnecessary and does not work.
make_wb_data()is now updated to work with other internal updates introduced in 0.5.0.
long_panel()was never really working right when the source data’s labels were located at the beginning (i.e.,
label_location = "beginning"). It is now much more robust.
wave.factorargument had become non-functional for some time but is now fixed.
Starting to polish things up for CRAN.
panel_dataframes now always place the
wavecolumns first (in that order).
wbm()can now handle time-varying factors appropriately. Do note that it only uses treatment contrasts, however. (#8)
line_plot(), to help you explore trends in data. It’s a little rough around the edges for now.
wbmobjects are now a bit more streamlined and nice-looking.
glance()methods (from the
as_panel_data()is an alias for
panel_data()when supplying a data frame and an S3 method otherwise. It can be used to convert
pdata.frameobjects from the
wbm()are now converted to
Formulaobjects to make working with their multiple parts easier (see the
Formulapackage for more info).
panel_dataframes, which works best if you have
skimrinstalled. You can use
dplyr::select()style syntax to select which variables you want to describe and choose to get descriptives by wave and/or entity.
This version has switched the default degrees of freedom calculation for linear
wbm models to Satterthwaite, which are more computationally efficient and less prone to breaking R. They are also calculated on a per-variable basis. Kenward-Roger standard errors and degrees of freedom can be requested with the
t.df = "Kenward-Roger" argument.
This version includes some major under-the-hood changes, converting from an S3 object representation to S4. This allows the
wbm objects to formally be extensions of
merMod objects, meaning any method that could apply to
wbm but isn’t formally implemented will fall back to the
panel_data class no longer hardcodes the id and wave variables as “id” and “wave”. Instead, they remain whatever they are named and the
panelr functions will simply know which variables are these special ones.
A new function,
make_wb_data, allows users to do the data prepping that
wbm does internally without having to use all the modeling choices made by
A series of helper functions have been added to make
wbm objects behave more like regular model objects. Now
predict, and several more are defined for
summary function for
wbm has been refined and had some minor bugs squished.
More tweaks to
widen_panel, giving users the option to opt out of the feature introduced in
0.3.2 that stores data about varying and constant variables from
long_panel. Since poor data labeling in the original wide data can cause those stored attributes to be wrong, users can use
ignore.attributes = TRUE with
widen_panel to force checking for varying variables with
are_varying. Users can now also supply a vector of varying variables, similar to
reshape in base R.
This small update adds an enhancement to
widen_panel. If you start with wide data, convert it to long format, and then want to convert back to wide, the
panel_data object in long format will cache information about the variables to drastically speed up
widen_panel when you run it again.
are_varying was sped up by about 50%, though it slows
widen_panel down for data with many variables.
long_panelwould error when supplied a
tibblerather than a base
magrittroperators used internally.
panel_dataobject to wide format, with one row per entity. This can be useful for SEM analysis and some other things.
long_paneldoes a much more difficult thing, which is convert wide-formatted data to the more conventional long panel data format. It contains several means for parsing the variable names of the wide formatted data to produce a sensible long data frame with all the time-variant variables accounted for properly. Unlike
reshape, it can deal with unbalanced data.
are_varyingis a function that can let you check whether variables in long-formatted panel data vary over time or not.
balance_correctionarguments were added to
wbmto implement the procedures described in Curran and Bauer (2011). These, respectively, account for over-time trends in the predictors and correcting between-subject effects when panels are unbalanced.
NEWS.mdfile to track changes to the package.