Title: | Mock Data Generation |
---|---|
Description: | Generation of synthetic data from a real dataset using the combination of rank normal inverse transformation with the calculation of correlation matrix <doi:10.1055/a-2048-7692>. Completely artificial data may be generated through the use of Generalized Lambda Distribution and Generalized Poisson Distribution <doi:10.1201/9781420038040>. Quantitative, binary, ordinal categorical, and survival data may be simulated. Functionalities are offered to generate synthetic data sets according to user's needs. |
Authors: | Andreas Ziegler [aut], Francisco Miguel Echevarria [aut], Georgios Koliopanos [cre] |
Maintainer: | Georgios Koliopanos <[email protected]> |
License: | GPL-3 |
Version: | 1.0.1 |
Built: | 2024-10-12 07:35:58 UTC |
Source: | CRAN |
Check that the arguments are following the corresponding conditions
checkArguments( data = NULL, ties_method = "max", variables = colnames(data), bin_variables = NULL, categ_variables = NULL, count_variables = NULL, n_samples = nrow(data), sigma = NULL, nrep = 100, noise_mu = FALSE, pertr_vec = NULL, change_cov = NULL, change_amount = 0, seed = 1, thresh_var = NULL, thresh_force = FALSE, var_prop = NULL, var_infl = NULL, infl_cov_stable = FALSE, tol = 1e-06, stop_sim = FALSE, new_mean_sd = NULL, multi_sugg_prop = NULL, generalized_mode = FALSE, generalized_mode_model = NULL, generalized_mode_lmbds = NULL )
checkArguments( data = NULL, ties_method = "max", variables = colnames(data), bin_variables = NULL, categ_variables = NULL, count_variables = NULL, n_samples = nrow(data), sigma = NULL, nrep = 100, noise_mu = FALSE, pertr_vec = NULL, change_cov = NULL, change_amount = 0, seed = 1, thresh_var = NULL, thresh_force = FALSE, var_prop = NULL, var_infl = NULL, infl_cov_stable = FALSE, tol = 1e-06, stop_sim = FALSE, new_mean_sd = NULL, multi_sugg_prop = NULL, generalized_mode = FALSE, generalized_mode_model = NULL, generalized_mode_lmbds = NULL )
data |
a data frame containing the data whose characteristics are to be mimicked during the data simulation. |
ties_method |
Method on how to deal with equal values
during rank transformation. Acceptable input:"max","average","min". This
parameter is passed by |
variables |
a vector of which variables you want to transform. Default:colnames(data) |
bin_variables |
a character vector listing the binary variables. |
categ_variables |
a character vector listing the ordinal categorical variables. |
count_variables |
a character vector listing the count as a sub sub category of categorical variables. Count variables should be part of categorical variables vector. Count variables are treated differently when using gldex to simulate them. |
n_samples |
Number of rows of each simulated data set. Default is
the number of rows of |
sigma |
a covariance matrix of NxN (N= number of variables) provided by the user to bypass the covariance matrix calculations |
nrep |
number of repetitions. |
noise_mu |
Logical value if you want to apply noise to multivariate mean. Default: FALSE |
pertr_vec |
A named vector.Vector's names are the continuous variables that the user want to perturb. Variance of simulated data set mimic original data's variance. |
change_cov |
change the covariance of a specific pair of variables. |
change_amount |
the amount of change in the covariance of a specific pair of variables. |
seed |
A numeric value specifying the random seed. If |
thresh_var |
A data frame that contains the thresholds(left and right) of specified variables (1st column: variable names, 2nd column: Left thresholds, 3rd column: Right thresholds) |
thresh_force |
A logical value indicating if you want to force threshold in case the proportion of samples that can surpass the threshold are less than 10% |
var_prop |
A named vector that provides a proportion of value=1 for a specific binary variable(=name of the vector) that will be the proportion of this value in the simulated data sets.[this may increase execution time drastically] |
var_infl |
A named vector.Vector's names are the continuous variables that the user want to perturb and increase their variance |
infl_cov_stable |
Logical value. If TRUE,perturbation is applied to original data set and simulations values mimic the perturbed original data set.Covariance matrix used for simulation = original data's correlations. If FALSE, perturbation is applied to the simulated data sets. |
tol |
A numeric value that set up tolerance(relative to largest variance) for numerical lack of positive-definiteness in Sigma |
stop_sim |
A logical value indicating if the analysis should stop before simulation and produce only the correlation matrix |
new_mean_sd |
A matrix that contains two columns named "Mean" and "SD" that the user specifies desired Means and Standard Deviations in the simulated data sets for specific continues variables. The variables must be declared as ROWNAMES in the matrix |
multi_sugg_prop |
A named vector that provides a proportion of value=1 for specific binary variables(=name of the vector) that will be the close to the proportion of this value in the simulated data sets. |
generalized_mode |
A logical value indicating if you want to use generalized distribution to simulate your data |
generalized_mode_model |
A matrix that contains two columns named "Variable" and "Model". This matrix can be used only if a generalized_mode_model argument is provided. It specifies what model should be used for each Variable. Model values should be "RMFMKL", "RPRS", "STAR" or a combination of them, e.g. "RMFMKL-RPRS" or "STAR-STAR", in case the use wants a bimodal simulation. The user can select Generalised Poisson model for poisson variables, but this model cannot be included in bimodal simulation. |
generalized_mode_lmbds |
A matrix that contains lmbds values for each of the variables of the data set to be used for either Generalized Lambda Distribution Generalized Poisson Distribution or setting up thresholds |
No value, called for checking arguments of modgo
Francisco M. Ojeda, George Koliopanos
Rows: samples (303) x Columns: Variables (11)
data("Cleveland")
data("Cleveland")
A data frame
Cleveland Clinic Heart Disease Data set from the University of California in Irvine (UCI) machine learning data repository
Dua, Dheeru, and Casey Graff. 2017. "UCI Machine Learning Repository." University of California, Irvine,School of Information; Computer Sciences. http://archive.ics.uci.edu/ml
Selected 11 variables and impute missing values Imputation method is described in the Supplementary file 1 of the modgo paper
Detrano, R. et al. (1989) “International application of a new probability algorithm for the diagnosis of coronary artery disease,” The American Journal of Cardiology, 64(5), 304-310.
data("Cleveland", package="modgo")
data("Cleveland", package="modgo")
Produces a graphical display of the correlation matrix of the original
dataset, a single simulated dataset and also of the average of the
correlation matrices across all simulations for an object returned by
modgo
.
corr_plots( Modgo_obj, sim_dataset = 1, variables = colnames(Modgo_obj[["simulated_data"]][[1]]) )
corr_plots( Modgo_obj, sim_dataset = 1, variables = colnames(Modgo_obj[["simulated_data"]][[1]]) )
Modgo_obj |
An object returned by |
sim_dataset |
Number indicating the simulated dataset in
|
variables |
A character vector indicating the columns in the data to be used in plots. |
A patchwork object created by wrap_plots
depicting correlation matrices.
Francisco M. Ojeda, George Koliopanos
data("Cleveland",package="modgo") test_modgo <- modgo(data = Cleveland, bin_variables = c("CAD","HighFastBloodSugar","Sex","ExInducedAngina"), categ_variables =c("Chestpaintype")) corr_plots(test_modgo)
data("Cleveland",package="modgo") test_modgo <- modgo(data = Cleveland, bin_variables = c("CAD","HighFastBloodSugar","Sex","ExInducedAngina"), categ_variables =c("Chestpaintype")) corr_plots(test_modgo)
Produces a graphical display of the distribution of the variables
of the original dataset and a single simulated dataset for an object
returned by modgo
.
distr_plots( Modgo_obj, variables = colnames(Modgo_obj[["original_data"]]), sim_dataset = 1, wespalette = "Cavalcanti1", text_size = 12 )
distr_plots( Modgo_obj, variables = colnames(Modgo_obj[["original_data"]]), sim_dataset = 1, wespalette = "Cavalcanti1", text_size = 12 )
Modgo_obj |
An object returned by |
variables |
A character vector indicating the columns in the data to be used in plots. |
sim_dataset |
Number indicating the simulated dataset in
|
wespalette |
a name of the selected wesanderson color pallet |
text_size |
a number for the size of the annotation text |
For continuous variables box-and-whisker plots are displayed, while categorical variables bar charts are produced.
A ggplot object depicting distribution of different variables.
Andreas Ziegler, Francisco M. Ojeda, George Koliopanos
data("Cleveland",package="modgo") test_modgo <- modgo(data = Cleveland, bin_variables = c("CAD","HighFastBloodSugar","Sex","ExInducedAngina"), categ_variables =c("Chestpaintype")) distr_plots(test_modgo)
data("Cleveland",package="modgo") test_modgo <- modgo(data = Cleveland, bin_variables = c("CAD","HighFastBloodSugar","Sex","ExInducedAngina"), categ_variables =c("Chestpaintype")) distr_plots(test_modgo)
Inverse transforms z values of a vector to simulated values driven by the original dataset using Generalized Lambda and Generalized Poisson percentile functions
general_transform_inv(x, data = NULL, n_samples, lmbds)
general_transform_inv(x, data = NULL, n_samples, lmbds)
x |
a vector of z values |
data |
a data frame with original variables. |
n_samples |
number of samples you need to produce. |
lmbds |
a vector with generalized lambdas values |
A numeric vector with inverse transformed values
Andreas Ziegler, Francisco M. Ojeda, George Koliopanos
data("Cleveland",package="modgo") test_rank <- rbi_normal_transform(Cleveland[,1]) test_generalized_lmbds <- generalizedMatrix(Cleveland, bin_variables = c("Sex", "HighFastBloodSugar", "CAD")) test_inv_rank <- general_transform_inv(x = test_rank, data = Cleveland[,1], n_samples = 100, lmbds = test_generalized_lmbds[,1])
data("Cleveland",package="modgo") test_rank <- rbi_normal_transform(Cleveland[,1]) test_generalized_lmbds <- generalizedMatrix(Cleveland, bin_variables = c("Sex", "HighFastBloodSugar", "CAD")) test_inv_rank <- general_transform_inv(x = test_rank, data = Cleveland[,1], n_samples = 100, lmbds = test_generalized_lmbds[,1])
Prepare the four moments matrix for GLD and GPD
generalizedMatrix( data, variables = colnames(data), bin_variables = NULL, generalized_mode_model = NULL, multi_sugg_prop = NULL )
generalizedMatrix( data, variables = colnames(data), bin_variables = NULL, generalized_mode_model = NULL, multi_sugg_prop = NULL )
data |
a data frame with original variables. |
variables |
a vector of which variables you want to transform. Default:colnames(data) |
bin_variables |
a character vector listing the binary variables. |
generalized_mode_model |
A matrix that contains two columns named "Variables" and "Model". This matrix can be used only if a generalized_mode_model argument is provided. It specifies what model should be used for each Variable. Model values should be "RMFMKL", "RPRS", "STAR" or a combination of them, e.g. "RMFMKL-RPRS" or "STAR-STAR", in case the use wants a bimodal simulation. The user can select Generalized Poisson model for poisson variables, but this model cannot be included in bimodal simulation |
multi_sugg_prop |
A named vector that provides a proportion of value=1 for specific binary variables(=name of the vector) that will be the close to the proportion of this value in the simulated data sets |
A numeric matrix with the four moments for each distribution and a number that corresponds to a GLD model
Francisco M. Ojeda, George Koliopanos
data("Cleveland",package="modgo") Variables <- c("Age","STDepression") Model <- c("rprs", "star-rmfmkl") model_matrix <- cbind(Variables, Model) test_modgo <- generalizedMatrix(data = Cleveland, generalized_mode_model = model_matrix, bin_variables = c("CAD","HighFastBloodSugar","Sex","ExInducedAngina"))
data("Cleveland",package="modgo") Variables <- c("Age","STDepression") Model <- c("rprs", "star-rmfmkl") model_matrix <- cbind(Variables, Model) test_modgo <- generalizedMatrix(data = Cleveland, generalized_mode_model = model_matrix, bin_variables = c("CAD","HighFastBloodSugar","Sex","ExInducedAngina"))
This function is used internally by modgo
. It conducts
the computation of the correlation matrix of the transformed variables, which
are assumed to follow a multivariate normal distribution.
generate_simulated_data( data, df_sim, variables, bin_variables, categ_variables, count_variables, n_samples, generalized_mode, generalized_mode_lmbds, multi_sugg_prop, pertr_vec, var_infl, infl_cov_stable )
generate_simulated_data( data, df_sim, variables, bin_variables, categ_variables, count_variables, n_samples, generalized_mode, generalized_mode_lmbds, multi_sugg_prop, pertr_vec, var_infl, infl_cov_stable )
data |
a data frame with original variables. |
df_sim |
a data frame with simulated values. |
variables |
variables a character vector indicating which
columns of |
bin_variables |
a character vector listing the binary variables. |
categ_variables |
a character vector listing the ordinal categorical variables. |
count_variables |
a character vector listing the count as a sub sub category of categorical variables. Count variables should be part of categorical variables vector. Count variables are treated differently when using gldex to simulate them. |
n_samples |
Number of rows of each simulated data set. Default is
the number of rows of |
generalized_mode |
A logical value indicating if generalized lambda/poisson distributions or set up thresholds will be used to generate the simulated values |
generalized_mode_lmbds |
A matrix that contains lmbds values for each of the variables of the data set to be used for either Generalized Lambda Distribution Generalized Poisson Distribution or setting up thresholds |
multi_sugg_prop |
A named vector that provides a proportion of value=1 for specific binary variables(=name of the vector) that will be the close to the proportion of this value in the simulated data sets. |
pertr_vec |
A named vector.Vector's names are the continuous variables that the user want to perturb. Variance of simulated data set mimic original data's variance. |
var_infl |
A named vector.Vector's names are the continuous variables that the user want to perturb and increase their variance |
infl_cov_stable |
Logical value. If TRUE,perturbation is applied to original data set and simulations values mimic the perturbed original data set.Covariance matrix used for simulation = original data's correlations. If FALSE, perturbation is applied to the simulated data sets. |
A data frame with simulated values
Francisco M. Ojeda, George Koliopanos
This function is used internally by modgo
. It transforms
all variables to their original scale.
Inverse_transformation_variables( data, df_sim, variables, bin_variables, categ_variables, count_variables, n_samples, generalized_mode, generalized_mode_lmbds )
Inverse_transformation_variables( data, df_sim, variables, bin_variables, categ_variables, count_variables, n_samples, generalized_mode, generalized_mode_lmbds )
data |
a data frame with original variables. |
df_sim |
data frame with transformed variables. |
variables |
variables a character vector indicating which
columns of |
bin_variables |
a character vector listing the binary variables. |
categ_variables |
a character vector listing the ordinal categorical variables. |
count_variables |
a character vector listing the count as a sub sub category of categorical variables. Count variables should be part of categorical variables vector. Count variables are treated differently when using gldex to simulate them. |
n_samples |
Number of rows of each simulated data set. Default is
the number of rows of |
generalized_mode |
A logical value indicating if generalized lambda/poisson distributions or set up thresholds will be used to generate the simulated values |
generalized_mode_lmbds |
A matrix that contains lambdas values for each of the variables of the data set to be used for either Generalized Lambda Distribution Generalized Poisson Distribution or setting up thresholds |
A data frame with all inverse transformed values.
Francisco M. Ojeda, George Koliopanos
modgo
Create mock dataset from a real one by using
ranked based inverse normal transformation. Data with perturbed
characteristics can be generated.
modgo( data, ties_method = "max", variables = colnames(data), bin_variables = NULL, categ_variables = NULL, count_variables = NULL, n_samples = nrow(data), sigma = NULL, nrep = 100, noise_mu = FALSE, pertr_vec = NULL, change_cov = NULL, change_amount = 0, seed = 1, thresh_var = NULL, thresh_force = FALSE, var_prop = NULL, var_infl = NULL, infl_cov_stable = FALSE, tol = 1e-06, stop_sim = FALSE, new_mean_sd = NULL, multi_sugg_prop = NULL, generalized_mode = FALSE, generalized_mode_model = NULL, generalized_mode_lmbds = NULL )
modgo( data, ties_method = "max", variables = colnames(data), bin_variables = NULL, categ_variables = NULL, count_variables = NULL, n_samples = nrow(data), sigma = NULL, nrep = 100, noise_mu = FALSE, pertr_vec = NULL, change_cov = NULL, change_amount = 0, seed = 1, thresh_var = NULL, thresh_force = FALSE, var_prop = NULL, var_infl = NULL, infl_cov_stable = FALSE, tol = 1e-06, stop_sim = FALSE, new_mean_sd = NULL, multi_sugg_prop = NULL, generalized_mode = FALSE, generalized_mode_model = NULL, generalized_mode_lmbds = NULL )
data |
a data frame containing the data whose characteristics are to be mimicked during the data simulation. |
ties_method |
Method on how to deal with equal values
during rank transformation. Acceptable input:"max","average","min". This
parameter is passed by |
variables |
a vector of which variables you want to transform. Default:colnames(data) |
bin_variables |
a character vector listing the binary variables. |
categ_variables |
a character vector listing the ordinal categorical variables. |
count_variables |
a character vector listing the count as a sub sub category of categorical variables. Count variables should be part of categorical variables vector. Count variables are treated differently when using gldex to simulate them. |
n_samples |
Number of rows of each simulated data set. Default is
the number of rows of |
sigma |
a covariance matrix of NxN (N= number of variables) provided by the user to bypass the covariance matrix calculations |
nrep |
number of repetitions. |
noise_mu |
Logical value if you want to apply noise to multivariate mean. Default: FALSE |
pertr_vec |
A named vector.Vector's names are the continuous variables that the user want to perturb. Variance of simulated data set mimic original data's variance. |
change_cov |
change the covariance of a specific pair of variables. |
change_amount |
the amount of change in the covariance of a specific pair of variables. |
seed |
A numeric value specifying the random seed. If |
thresh_var |
A data frame that contains the thresholds(left and right) of specified variables (1st column: variable names, 2nd column: Left thresholds, 3rd column: Right thresholds) |
thresh_force |
A logical value indicating if you want to force threshold in case the proportion of samples that can surpass the threshold are less than 10% |
var_prop |
A named vector that provides a proportion of value=1 for a specific binary variable(=name of the vector) that will be the proportion of this value in the simulated data sets.[this may increase execution time drastically] |
var_infl |
A named vector.Vector's names are the continuous variables that the user want to perturb and increase their variance |
infl_cov_stable |
Logical value. If TRUE,perturbation is applied to original data set and simulations values mimic the perturbed original data set.Covariance matrix used for simulation = original data's correlations. If FALSE, perturbation is applied to the simulated data sets. |
tol |
A numeric value that set up tolerance(relative to largest variance) for numerical lack of positive-definiteness in Sigma |
stop_sim |
A logical value indicating if the analysis should stop before simulation and produce only the correlation matrix |
new_mean_sd |
A matrix that contains two columns named "Mean" and "SD" that the user specifies desired Means and Standard Deviations in the simulated data sets for specific continues variables. The variables must be declared as ROWNAMES in the matrix |
multi_sugg_prop |
A named vector that provides a proportion of value=1 for specific binary variables(=name of the vector) that will be the close to the proportion of this value in the simulated data sets. |
generalized_mode |
A logical value indicating if generalized lambda/poisson distributions or set up thresholds will be used to generate the simulated values |
generalized_mode_model |
A matrix that contains two columns named "Variable" and "Model". This matrix can be used only if a generalized_mode_model argument is provided. It specifies what model should be used for each Variable. Model values should be "rmfmkl", "rprs", "star" or a combination of them, e.g. "rmfmkl-rprs" or "star-star", in case the use wants a bimodal simulation. The user can select Generalised Poisson model for poisson variables, but this model cannot be included in bimodal simulation |
generalized_mode_lmbds |
A matrix that contains lambdas values for each of the variables of the data set to be used for either Generalized Lambda Distribution Generalized Poisson Distribution or setting up thresholds |
Simulated data is generated based on available data. The simulated data mimics the characteristics of the original data. The algorithm used is based on the ranked based inverse normal transformation (Koliopanos et al. (2023)).
A list with the following components:
simulated_data |
A list of data frames containing the simulated data. |
original_data |
A data frame with the input data. |
correlations |
a list of correlation matrices. The ith element is the
correlation matrix for the ith simulated dataset. The |
bin_variables |
character vector listing the binary variables |
categ_variables |
a character vector listing the ordinal categorical variables |
covariance_matrix |
Covariance matrix used when generating observations from a multivariate normal distribution. |
seed |
Random seed used. |
samples_produced |
Number of rows of each simulated dataset. |
sim_dataset_number |
Number of simulated datasets produced. |
A list with the following components:
simulated_data |
A list of data frames containing the simulated data. |
original_data |
A data frame with the input data. |
correlations |
a list of correlation matrices. The ith element is the
correlation matrix for the ith simulated dataset. The |
bin_variables |
character vector listing the binary variables |
categ_variables |
a character vector listing the ordinal categorical variables |
covariance_matrix |
Covariance matrix used when generating observations from a multivariate normal distribution. |
seed |
Random seed used. |
samples_produced |
Number of rows of each simulated dataset. |
sim_dataset_number |
Number of simulated datasets produced. |
Francisco M. Ojeda, George Koliopanos
Koliopanos, G. and Ojeda, F. and Ziegler Andreas (2023), “A simple-to-use R package for mimicking study data by simulations,” Methods Inf Med.
data("Cleveland",package="modgo") test_modgo <- modgo(data = Cleveland, bin_variables = c("CAD","HighFastBloodSugar","Sex","ExInducedAngina"), categ_variables =c("Chestpaintype"))
data("Cleveland",package="modgo") test_modgo <- modgo(data = Cleveland, bin_variables = c("CAD","HighFastBloodSugar","Sex","ExInducedAngina"), categ_variables =c("Chestpaintype"))
modgo_survival
Create mock dataset from a real one by using
Generalized Lambdas Distributions and by seperating the data set in 2 based
in the event status.
modgo_survival( data, event_variable = NULL, time_variable = NULL, surv_method = 1, ties_method = "max", variables = colnames(data), bin_variables = NULL, categ_variables = NULL, count_variables = NULL, n_samples = nrow(data), sigma = NULL, nrep = 100, noise_mu = FALSE, pertr_vec = NULL, change_cov = NULL, change_amount = 0, seed = 1, thresh_var = NULL, thresh_force = FALSE, var_prop = NULL, var_infl = NULL, infl_cov_stable = FALSE, tol = 1e-06, stop_sim = FALSE, new_mean_sd = NULL, multi_sugg_prop = NULL, generalized_mode = TRUE, generalized_mode_model = NULL, generalized_mode_model_event = "rprs", generalized_mode_model_no_event = "rprs", generalized_mode_lmbds = NULL )
modgo_survival( data, event_variable = NULL, time_variable = NULL, surv_method = 1, ties_method = "max", variables = colnames(data), bin_variables = NULL, categ_variables = NULL, count_variables = NULL, n_samples = nrow(data), sigma = NULL, nrep = 100, noise_mu = FALSE, pertr_vec = NULL, change_cov = NULL, change_amount = 0, seed = 1, thresh_var = NULL, thresh_force = FALSE, var_prop = NULL, var_infl = NULL, infl_cov_stable = FALSE, tol = 1e-06, stop_sim = FALSE, new_mean_sd = NULL, multi_sugg_prop = NULL, generalized_mode = TRUE, generalized_mode_model = NULL, generalized_mode_model_event = "rprs", generalized_mode_model_no_event = "rprs", generalized_mode_lmbds = NULL )
data |
a data frame containing the data whose characteristics are to be mimicked during the data simulation. |
event_variable |
a character string listing the event variable. |
time_variable |
a character string listing the time variable. |
surv_method |
A numeric value that indicates which one of the 2 survival methods will be used. First method(surv_method = 1): Event and no event data sets are using different covariance matrices for the simulation. Second method(surv_method = 2): Event and no event data sets are using the same covariance matrix for the simulation |
ties_method |
Method on how to deal with equal values
during rank transformation. Acceptable input:"max","average","min". This
parameter is passed by |
variables |
a vector of which variables you want to transform. Default:colnames(data) |
bin_variables |
a character vector listing the binary variables. |
categ_variables |
a character vector listing the ordinal categorical variables. |
count_variables |
a character vector listing the count as a sub sub category of categorical variables. Count variables should be part of categorical variables vector. Count variables are treated differently when using gldex to simulate them. |
n_samples |
Number of rows of each simulated data set. Default is
the number of rows of |
sigma |
a covariance matrix of NxN (N= number of variables) provided by the user to bypass the covariance matrix calculations |
nrep |
number of repetitions. |
noise_mu |
Logical value if you want to apply noise to multivariate mean. Default: FALSE |
pertr_vec |
A named vector.Vector's names are the continuous variables that the user want to perturb. Variance of simulated data set mimic original data's variance. |
change_cov |
change the covariance of a specific pair of variables. |
change_amount |
the amount of change in the covariance of a specific pair of variables. |
seed |
A numeric value specifying the random seed. If |
thresh_var |
A data frame that contains the thresholds(left and right) of specified variables (1st column: variable names, 2nd column: Left thresholds, 3rd column: Right thresholds) |
thresh_force |
A logical value indicating if you want to force threshold in case the proportion of samples that can surpass the threshold are less than 10% |
var_prop |
A named vector that provides a proportion of value=1 for a specific binary variable(=name of the vector) that will be the proportion of this value in the simulated data sets.[this may increase execution time drastically] |
var_infl |
A named vector.Vector's names are the continuous variables that the user want to perturb and increase their variance |
infl_cov_stable |
Logical value. If TRUE,perturbation is applied to original data set and simulations values mimic the perturbed original data set.Covariance matrix used for simulation = original data's correlations. If FALSE, perturbation is applied to the simulated data sets. |
tol |
A numeric value that set up tolerance(relative to largest variance) for numerical lack of positive-definiteness in Sigma |
stop_sim |
A logical value indicating if the analysis should stop before simulation and produce only the correlation matrix |
new_mean_sd |
A matrix that contains two columns named "Mean" and "SD" that the user specifies desired Means and Standard Deviations in the simulated data sets for specific continues variables. The variables must be declared as ROWNAMES in the matrix |
multi_sugg_prop |
A named vector that provides a proportion of value=1 for specific binary variables(=name of the vector) that will be the close to the proportion of this value in the simulated data sets. |
generalized_mode |
A logical value indicating if generalized lambda/poisson distributions or set up thresholds will be used to generate the simulated values |
generalized_mode_model |
A matrix that contains two columns named "Variable" and "Model". This matrix can be used only if a generalized_mode_model argument is provided. It specifies what model should be used for each Variable. Model values should be "rmfmkl", "rprs", "star" or a combination of them, e.g. "rmfmkl-rprs" or "star-star", in case the use wants a bimodal simulation. The user can select Generalised Poisson model for poisson variables, but this model cannot be included in bimodal simulation |
generalized_mode_model_event |
A matrix that contains two columns named "Variable" and "Model" and it is to be used for the event data set(event = 1). This matrix can be used only if a generalized_mode_model argument is provided. It specifies what model should be used for each Variable. Model values should be "rmfmkl", "rprs", "star" or a combination of them, e.g. "rmfmkl-rprs" or "star-star", in case the use wants a bimodal simulation. The user can select Generalised Poisson model for poisson variables, but this model cannot be included in bimodal simulation |
generalized_mode_model_no_event |
A matrix that contains two columns named "Variable" and "Model" and it is to be used for the non-event data set(event = 0). This matrix can be used only if a generalized_mode_model argument is provided. It specifies what model should be used for each Variable. Model values should be "rmfmkl", "rprs", "star" or a combination of them, e.g. "rmfmkl-rprs" or "star-star", in case the use wants a bimodal simulation. The user can select Generalised Poisson model for poisson variables, but this model cannot be included in bimodal simulation |
generalized_mode_lmbds |
A matrix that contains lambdas values for each of the variables of the data set to be used for either Generalized Lambda Distribution Generalized Poisson Distribution or setting up thresholds |
Simulated data is generated based on available data. The simulated data mimics the characteristics of the original data. The algorithm used is based on the ranked based inverse normal transformation (Koliopanos et al. (2023)).
A list with the following components:
simulated_data |
A list of data frames containing the simulated data. |
original_data |
A data frame with the input data. |
correlations |
a list of correlation matrices. The ith element is the
correlation matrix for the ith simulated dataset. The |
bin_variables |
character vector listing the binary variables |
categ_variables |
a character vector listing the ordinal categorical variables |
covariance_matrix |
Covariance matrix used when generating observations from a multivariate normal distribution. |
seed |
Random seed used. |
samples_produced |
Number of rows of each simulated dataset. |
sim_dataset_number |
Number of simulated datasets produced. |
Francisco M. Ojeda, George Koliopanos
data("cancer", package = "survival") cancer_data <- na.omit(cancer) cancer_data$sex <- cancer_data$sex - 1 cancer_data$status <- cancer_data$status - 1 test_surv <- modgo_survival(data = cancer_data, surv_method = 1, bin_variables = c("status", "sex"), categ_variables = "ph.ecog", event_variable = "status", time_variable = "time", generalized_mode_model_no_event = "rmfmkl", generalized_mode_model_event = "rprs")
data("cancer", package = "survival") cancer_data <- na.omit(cancer) cancer_data$sex <- cancer_data$sex - 1 cancer_data$status <- cancer_data$status - 1 test_surv <- modgo_survival(data = cancer_data, surv_method = 1, bin_variables = c("status", "sex"), categ_variables = "ph.ecog", event_variable = "status", time_variable = "time", generalized_mode_model_no_event = "rmfmkl", generalized_mode_model_event = "rprs")
Combines modgo objects from a multiple studies to a single one in order to calculate new correlations and visualise the data
multicenter_comb(modgo_1, ...)
multicenter_comb(modgo_1, ...)
modgo_1 |
a list modgo object. |
... |
multiple modgo object names. |
A modgo object/list that consist the merging of multiple modgo objects.
Francisco M. Ojeda, George Koliopanos
Applies the rank based inverse normal transformation to numeric vector.
rbi_normal_transform(x, ties_method = c("max", "min", "average"))
rbi_normal_transform(x, ties_method = c("max", "min", "average"))
x |
a numeric vector |
ties_method |
Method on how to deal with equal values
during rank transformation.Acceptable input:"max","average","min". This
parameter is passed to the parameter |
The rank based inverse normal transformation (Beasley et al. (2009)), transforms values of a vector to ranks and then applies the quantile function of the standard normal distribution.
A numeric vector with rank transformed values.
Andreas Ziegler, Francisco M. Ojeda, George Koliopanos
Beasley, T.M. and Erickson S. and Allison D.B. (2009), “Rank-based inverse normal transformations are increasingly used, but are they merited?,” Behavior genetics 39, 580-595.
data("Cleveland",package="modgo") test_rank <- rbi_normal_transform(Cleveland[,1])
data("Cleveland",package="modgo") test_rank <- rbi_normal_transform(Cleveland[,1])
Transforms a vector x
using the inverse of rank based inverse normal
transformation associated with a given vector x_original
. This inverse
is defined as , where
is the inverse
empirical cumulative distribution function of
x_original
and
is the cumulative distribution function of a standard normal
random variable.
rbi_normal_transform_inv(x, x_original)
rbi_normal_transform_inv(x, x_original)
x |
a numeric vector. |
x_original |
a numeric vector from the original dataset |
A numeric vector with inverse transformed values
Andreas Ziegler, Francisco M. Ojeda, George Koliopanos
data("Cleveland",package="modgo") test_rank <- rbi_normal_transform(Cleveland[,1]) test_inv_rank <- rbi_normal_transform_inv(x = test_rank, x_original = Cleveland[,1])
data("Cleveland",package="modgo") test_rank <- rbi_normal_transform(Cleveland[,1]) test_inv_rank <- rbi_normal_transform_inv(x = test_rank, x_original = Cleveland[,1])
This function is used internally by modgo
. It conducts
the computation of the correlation matrix of the transformed variables, which
are assumed to follow a multivariate normal distribution.
Sigma_calculation(data, variables, bin_variables, categ_variables, ties_method)
Sigma_calculation(data, variables, bin_variables, categ_variables, ties_method)
data |
a data frame with original variables. |
variables |
variables a character vector indicating which
columns of |
bin_variables |
a character vector listing the binary variables. |
categ_variables |
a character vector listing the ordinal categorical variables. |
ties_method |
Method on how to deal with equal values
during rank transformation. Acceptable input:"max","average","min". This
parameter is passed by |
A numeric matrix with correlation values.
Francisco M. Ojeda, George Koliopanos
This function is used internally by modgo
. It finishes
the computation of the correlation matrix of the transformed variables, which
are assumed to follow a multivariate normal distribution. It computes the
correlations involving at least one categorical variable. For this purpose
the biserial, tetrachoric, polyserial and polychoric correlations are used.
Sigma_transformation( data, data_z, Sigma, variables, bin_variables = c(), categ_variables = c() )
Sigma_transformation( data, data_z, Sigma, variables, bin_variables = c(), categ_variables = c() )
data |
a data frame with original variables. |
data_z |
data frame with transformed variables. |
Sigma |
A numeric square matrix. |
variables |
variables a character vector indicating which
columns of |
bin_variables |
a character vector listing the binary variables. |
categ_variables |
a character vector listing the ordinal categorical variables. |
A numeric matrix with correlation values.
Francisco M. Ojeda, George Koliopanos