Pass in any dataframe and get variances despite some non-numeric columns. Cells involving these non-numeric columns are set to ordVar (default = 1).
umx_var(
df,
format = c("full", "diag", "lower"),
use = c("complete.obs", "pairwise.complete.obs", "everything", "all.obs",
"na.or.complete"),
ordVar = 1,
digits = NULL,
strict = TRUE,
allowCorForFactorCovs = FALSE
)
A dataframe of raw data from which to get variances.
to return: options are c("full", "diag", "lower"). Defaults to full, but this is not implemented yet.
Passed to cov()
- defaults to "complete.obs" (see param default for other options).
The value to return at any ordinal columns (defaults to 1).
digits to round output to (Ignored if NULL). Set for easy printing.
Whether to allow non-ordered factors to be processed (default = FALSE (no)).
When ordinal data are present, use heterochoric correlations in affected cells, in place of covariances.
Other Miscellaneous Stats Helpers:
FishersMethod()
,
SE_from_p()
,
geometric_mean()
,
harmonic_mean()
,
oddsratio()
,
reliability()
,
umxCov2cor()
,
umxHetCor()
,
umxWeightedAIC()
,
umx_apply()
,
umx_cor()
,
umx_means()
,
umx_r_test()
,
umx_round()
,
umx_scale()
,
umx
# NOT RUN {
tmp = mtcars[,1:4]
tmp$cyl = ordered(mtcars$cyl) # ordered factor
tmp$hp = ordered(mtcars$hp) # binary factor
umx_var(tmp, format = "diag", ordVar = 1, use = "pair")
tmp2 = tmp[, c(1, 3)]
umx_var(tmp2, format = "diag")
umx_var(tmp2, format = "full")
data(myFADataRaw)
df = myFADataRaw[,c("z1", "z2", "z3")]
df$z1 = mxFactor(df$z1, levels = c(0, 1))
df$z2 = mxFactor(df$z2, levels = c(0, 1))
df$z3 = mxFactor(df$z3, levels = c(0, 1, 2))
umx_var(df, format = "diag")
umx_var(df, format = "full", allowCorForFactorCovs=TRUE)
# Ordinal/continuous mix
data(twinData)
twinData= umx_scale_wide_twin_data(data=twinData,varsToScale="wt",sep= "")
# Cut BMI column to form ordinal obesity variables
obLevels = c('normal', 'overweight', 'obese')
cuts = quantile(twinData[, "bmi1"], probs = c(.5, .8), na.rm = TRUE)
twinData$obese1=cut(twinData$bmi1,breaks=c(-Inf,cuts,Inf),labels=obLevels)
twinData$obese2=cut(twinData$bmi2,breaks=c(-Inf,cuts,Inf),labels=obLevels)
# Make the ordinal variables into mxFactors
ordDVs = c("obese1", "obese2")
twinData[, ordDVs] = umxFactor(twinData[, ordDVs])
varStarts = umx_var(twinData[, c(ordDVs, "wt1", "wt2")],
format= "diag", ordVar = 1, use = "pairwise.complete.obs")
# }
Run the code above in your browser using DataLab