umx (version 1.9.1)

umx_cont_2_quantiles: umx_cont_2_quantiles

Description

Recode a continuous variable into n-quantiles (default = deciles (10 levels)). It returns an mxFactor, with the levels labeled with the max value in each quantile (i.e., open on the left-side). quantiles are labeled "quantile1" "quantile2" etc.

Usage

umx_cont_2_quantiles(x, nlevels = NULL, type = c("mxFactor", "ordered",
  "unordered"), verbose = FALSE, returnCutpoints = FALSE)

Arguments

x

a variable to recode as ordinal (email me if you'd like this upgraded to handle df input)

nlevels

How many bins or levels (at most) to use (i.e., 10 = deciles)

type

what to return (Default is "mxFactor") options: "ordered" and "unordered")

verbose

report the min, max, and decile cuts used (default = FALSE)

returnCutpoints

just return the cutpoints, for use directly

Value

- recoded variable as an mxFactor

Details

Note: Redundant quantiles are merged. i.e., if the same score identifies all deciles up to the fourth, then these will be merged into one bin, labeled "quantile4".

References

- https://github.com/tbates/umx, https://tbates.github.io

See Also

Other Data Functions: umxCovData, umxFactor, umxHetCor, umxPadAndPruneForDefVars, umx_as_numeric, umx_cov2raw, umx_long2wide, umx_lower2full, umx_make_MR_data, umx_make_TwinData, umx_make_bin_cont_pair_data, umx_make_fake_data, umx_merge_CIs, umx_read_lower, umx_reorder, umx_residualize, umx_round, umx_scale_wide_twin_data, umx_scale, umx_swap_a_block, umx_wide2long, umx

Examples

Run this code
# NOT RUN {
x = umx_cont_2_quantiles(rnorm(1000), nlevels = 10, verbose = TRUE)
x = data.frame(x)
str(x); levels(x)
table(x)
# }
# NOT RUN {
ggplot2::qplot(x$x)
y = mxDataWLS(x, type = "WLS")
# }
# NOT RUN {
# ===========================
# = Use with twin variables =
# ===========================

x = twinData
y = rbind(x$wt1, x$wt2) 
cuts  = umx_cont_2_quantiles(y, nlevels = 10, returnCutpoints = TRUE)
x$wt1 = umx_cont_2_quantiles(x$wt1, nlevels = cuts) # use same for both...
x$wt2 = umx_cont_2_quantiles(x$wt2, nlevels = cuts) # use same for both...
str(x[, c("wt1", "wt2")])

# More examples

x = umx_cont_2_quantiles(mtcars[, "mpg"], nlevels = 5) # quintiles
x = umx2ord(mtcars[, "mpg"], nlevels = 5) # using shorter alias
x = umx_cont_2_quantiles(mtcars[, "cyl"], nlevels = 10) # more than integers exist
x = umx_cont_2_quantiles(rbinom(10000, 1, .5), nlevels = 2)
# }

Run the code above in your browser using DataLab