# Create simulated data ####
data <- cbind.data.frame(
`Subject ID` = c(
"S0001", "S0002", "S0003", "S0004", "S0005",
"S0006", "S0007", "S0008", "S0009", "S0010",
"S0011", "S0012", "S0013", "S0014", "S0015",
"S0016", "S0017", "S0018", "S0019", "S0020",
"S0021", "S0022", "S0023", "S0024", "S0025",
"S0026", "S0027", "S0028", "S0029", "S0030"),
`Centre` = c(
"C_0001", "C_0002", "C_0002", "C_0002", "C_0002",
"C_0001", "C_0001", "C_0003", "C_0001", "C_0003",
"C_0001", "C_0002", "C_0002", "C_0001", "C_0003",
"C_0002", "C_0002", "C_0003", "C_0001", "C_0002",
"C_0002", "C_0002", "C_0002", "C_0003", "C_0002",
"C_0001", "C_0003", "C_0001", "C_0001", "C_0001"),
`Treatment` = c(
"Intensive rehabilitation", "Intensive rehabilitation", "Standard rehabilitation",
"Intensive rehabilitation", "Intensive rehabilitation", "Intensive rehabilitation",
"Intensive rehabilitation", "Intensive rehabilitation", "Intensive rehabilitation",
"Standard rehabilitation", "Intensive rehabilitation", "Standard rehabilitation",
"Standard rehabilitation", "Intensive rehabilitation", "Intensive rehabilitation",
"Intensive rehabilitation", "Standard rehabilitation", "Standard rehabilitation",
"Intensive rehabilitation", "Standard rehabilitation", "Intensive rehabilitation",
"Intensive rehabilitation", "Standard rehabilitation", "Intensive rehabilitation",
"Intensive rehabilitation", "Standard rehabilitation", "Standard rehabilitation",
"Intensive rehabilitation", "Standard rehabilitation", "Intensive rehabilitation"),
`Obesity status` = c(
"Obese", "Non-obese", "Obese", "Non-obese", "Non-obese",
"Obese", "Obese", "Obese", "Non-obese", "Obese",
"Non-obese", "Non-obese", "Obese", "Non-obese", "Obese",
"Obese", "Non-obese", "Obese", "Obese", "Obese",
"Non-obese", "Non-obese", "Non-obese", "Obese", "Obese",
"Non-obese", "Obese", "Obese", "Obese", "Obese"),
`Unable to walk independently at 6 weeks` = c(
"unable", "able", "able", "unable", "able",
"able", "unable", "unable", "unable", "unable",
"able", "unable", "able", "unable", "unable",
"able", "unable", "unable", "unable", "unable",
"able", "able", "able", "able", "unable",
"able", "able", "unable", "able", "unable"),
`Mobility score at 6 months` = c(
86, 65.1, 48, 99.8, 73.4, 70, 74.7, 36.5, 64.6, 85.4,
41.7, 60.1, 73.3, 42.4, 55.3, 47.3, 85.9, 63, 64.6, 101.8,
108.1, 72.3, 96.4, 87.5, 66.2, 92.9, 47.7, 55.8, 56.4, 133.8),
`Pain at 6 weeks` = c(
"3_severe", "1_mild", "1_mild", "2_moderate", "1_mild",
"1_mild", "2_moderate", "2_moderate", "1_mild", "3_severe",
"1_mild", "2_moderate", "1_mild", "3_severe", "3_severe",
"1_mild", "2_moderate", "3_severe", "2_moderate", "2_moderate",
"1_mild", "1_mild", "1_mild", "1_mild", "2_moderate",
"1_mild", "1_mild", "2_moderate", "1_mild", "2_moderate"),
`Number of falls within 6 months` = c(
3, 2, 3, 2, 2, 1, 4, 2, 2, 5,
3, 2, 2, 2, 5, 3, 2, 2, 3, 4,
3, 1, 2, 2, 2, 7, 2, 1, 1, 8),
`Mobility score at 12 months` = c(
90, 69.1, 52, 103.8, 77.4, 74, 78.7, 40.5, 68.6, 89.4,
45.7, 64.1, 77.3, 46.4, 59.3, 51.3, 89.9, 67, 68.6, 105.8,
112.1, 76.3, 100.4, 91.5, 70.2, 96.9, 51.7, 59.8, 60.4, 137.8)
)
# Create a plan file
# Several additional functions are necessary to execute the plan.
# Therefore, the plan contains wrong field names which are not present in the data
plan <- cbind.data.frame(
"AN0001", "Check_Distribution", "", "Mobility score at 60 months", "", "",
"", "", "", "", "", "", "", "", "", "", "", "", "")
colnames(plan) <- c(
"analysis_number", "first_menu_choice", "second_menu_choice", "entry_1", "entry_2",
"entry_3", "entry_4", "entry_5", "entry_6", "entry_7", "entry_8", "entry_9", "entry_10",
"entry_11", "entry_12", "entry_13", "entry_14", "entry_15", "same_row_different_row")
# Simulate lists provided by EQUAL-STATS ####
Predefined_lists <- list(
main_menu = c(
'Calculate summary measures',
'Create plots',
'Check distribution',
'Compare sample mean versus population mean',
'Compare groups/variables (independent samples)',
'Compare groups/variables (paired samples or repeated measures)',
'Find the correlation (quantitative variables)',
'Calculate measurement error',
'Find the diagnostic accuracy (primary data)',
'Perform sample size and power calculations (primary data)',
'Perform survival analysis',
'Perform regression analysis',
'Analyse time series',
'Perform mixed-effects regression',
'Perform multivariate regression',
'Generate hypothesis',
'Perform sample size and power calculations (effect size approach)',
'Make correct conclusions (effect size approach)',
'Find the diagnostic accuracy (tabulated data)'
),
menu_short = c(
'Summary_Measures',
'Create_Plots',
'Check_Distribution',
'Compare_Sample_Pop_Means',
'Compare_Groups',
'Repeated_Measures',
'Correlation',
'Measurement_Error',
'Diagnostic_Accuracy_Primary',
'Sample_Size_Calculations_Primary',
'Survival_Analysis',
'Regression_Analysis',
'Time_Series',
'Mixed_Effects_Regression',
'Multivariate_Regression',
'Generate_Hypothesis',
'Sample_Size_Calculations_Effect_size',
'Make_Conclusions_Effect_size',
'Diagnostic_Accuracy_Tables'
)
)
entry <- list()
entry <- lapply(1:15, function(x) entry[[x]] <- '')
rv <- list(
StorageFolder = tempdir(),
first_menu_choice = NA,
second_menu_choice = NA,
entry = entry,
import_data = NULL,
same_row_different_row = NA,
submit_button_to_appear = FALSE,
summary_measures_choices = c("EQUAL-STATS choice", "Total observations",
"Missing observations", "Available observations"),
analysis_outcome = list(),
code = list(),
plan = list(),
results = list(),
plots_list = list(),
reports = list()
)
# Store the data and plan in a folder
data_file_path = paste0(tempdir(), "/data.csv")
write.csv(data, file = data_file_path, row.names = FALSE, na = "")
plan_file_path = paste0(tempdir(), "/plan.csv")
write.csv(plan, file = plan_file_path, row.names = FALSE, na = "")
# Load the necessary packages and functions
library(stringr)
# Read the data
rv$import_data <- function.read_data(data_file_path)
# Final function ####
plan_outcome <- function.plan_upload(plan_file_path, Predefined_lists, rv)
Run the code above in your browser using DataLab