Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 13 additions & 17 deletions src/MetaWinAnalysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -1798,62 +1798,58 @@ def do_meta_analysis(data, options, decimal_places: int = 4, alpha: float = 0.05
output, all_citations = options.report_choices()
output_blocks.extend(output)
if options.structure == SIMPLE_MA:
(output, figure, chart_data, analysis_values,
(output, chart_data, analysis_values,
citations) = MetaWinAnalysisFunctions.simple_meta_analysis(data, options, decimal_places, alpha, norm_ci,
sender=sender)
elif options.structure == GROUPED_MA:
(output, figure, chart_data, analysis_values,
(output, chart_data, analysis_values,
citations) = MetaWinAnalysisFunctions.grouped_meta_analysis(data, options, decimal_places, alpha, norm_ci,
sender=sender)
elif options.structure == CUMULATIVE_MA:
output, figure, chart_data = MetaWinAnalysisFunctions.cumulative_meta_analysis(data, options, decimal_places,
alpha, norm_ci, sender=sender)
output, chart_data = MetaWinAnalysisFunctions.cumulative_meta_analysis(data, options, decimal_places, alpha,
norm_ci, sender=sender)
analysis_values = None
citations = []
elif options.structure == REGRESSION_MA:
(output, figure, chart_data, analysis_values,
(output, chart_data, analysis_values,
citations) = MetaWinAnalysisFunctions.regression_meta_analysis(data, options, decimal_places, alpha, norm_ci,
sender=sender)
elif options.structure == COMPLEX_MA:
output, analysis_values, citations = MetaWinAnalysisFunctions.complex_meta_analysis(data, options,
decimal_places, alpha,
norm_ci, sender=sender)
figure = None
chart_data = None
elif options.structure == NESTED_MA:
(output, figure, chart_data, analysis_values,
(output, chart_data, analysis_values,
citations) = MetaWinAnalysisFunctions.nested_meta_analysis(data, options, decimal_places, alpha, norm_ci,
sender=sender)
elif options.structure == TRIM_FILL:
(output, figure, chart_data, analysis_values,
(output, chart_data, analysis_values,
citations) = MetaWinAnalysisFunctions.trim_and_fill_analysis(data, options, decimal_places, alpha, norm_ci)
elif options.structure == JACKKNIFE:
(output, figure, chart_data,
(output, chart_data,
citations) = MetaWinAnalysisFunctions.jackknife_meta_analysis(data, options, decimal_places, alpha, norm_ci,
sender=sender)
analysis_values = None
elif options.structure == PHYLOGENETIC_MA:
output, citations = MetaWinAnalysisFunctions.phylogenetic_meta_analysis(data, options, tree, decimal_places,
alpha, norm_ci, sender=sender)
analysis_values = None
figure = None
chart_data = None
elif options.structure == RANKCOR:
output, citations = MetaWinAnalysisFunctions.rank_correlation_analysis(data, options, decimal_places,
sender=sender)
figure = None
chart_data = None
analysis_values = None
else:
output = []
analysis_values = None
figure = None
chart_data = None
citations = []
all_citations.extend(citations)
output_blocks.extend(output)
output_blocks.extend(create_reference_list(all_citations))
return output_blocks, figure, chart_data, analysis_values
return output_blocks, chart_data, analysis_values


def meta_analysis(sender, data, last_effect, last_var, decimal_places: int = 4, alpha: float = 0.05,
Expand Down Expand Up @@ -1909,9 +1905,9 @@ def meta_analysis(sender, data, last_effect, last_var, decimal_places: int = 4,
meta_analysis_options.structure = None

if meta_analysis_options.structure is not None:
output, figure, chart_data, _ = do_meta_analysis(data, meta_analysis_options, decimal_places, alpha, tree,
norm_ci, sender=sender)
output, chart_data, _ = do_meta_analysis(data, meta_analysis_options, decimal_places, alpha, tree, norm_ci,
sender=sender)
sender.last_effect = meta_analysis_options.effect_data
sender.last_var = meta_analysis_options.effect_vars
return output, figure, chart_data
return None, None, None
return output, chart_data
return None, None
54 changes: 22 additions & 32 deletions src/MetaWinAnalysisFunctions.py
Original file line number Diff line number Diff line change
Expand Up @@ -601,7 +601,6 @@ def simple_meta_analysis(data, options, decimal_places: int = 4, alpha: float =

output_blocks = output_filtered_bad(filtered, bad_data)

figure = None
chart_data = None
n = len(e_data)
citations = []
Expand Down Expand Up @@ -670,15 +669,15 @@ def simple_meta_analysis(data, options, decimal_places: int = 4, alpha: float =
citations.extend(new_cites)

if options.create_graph:
figure, chart_data = MetaWinCharts.chart_forest_plot("basic analysis", effect_sizes.label, forest_data,
alpha, options.bootstrap_mean, normal_ci=norm_ci)
chart_data = MetaWinCharts.chart_forest_plot("basic analysis", effect_sizes.label, forest_data,
alpha, options.bootstrap_mean, normal_ci=norm_ci)

else:
output_blocks.append([get_text("Fewer than two studies were valid for analysis")])
qt, df, p, pooled_var, i2 = None, None, None, None, None
mean_data = None

return output_blocks, figure, chart_data, simple_ma_values(mean_data, pooled_var, qt, df, p, i2), citations
return output_blocks, chart_data, simple_ma_values(mean_data, pooled_var, qt, df, p, i2), citations


# ---------- grouped meta-analysis ----------
Expand Down Expand Up @@ -740,7 +739,6 @@ def grouped_meta_analysis(data, options, decimal_places: int = 4, alpha: float =

output_blocks = output_filtered_bad(filtered, bad_data)

figure = None
chart_data = None
n = len(e_data)
g_cnt = len(group_names)
Expand Down Expand Up @@ -905,9 +903,8 @@ def grouped_meta_analysis(data, options, decimal_places: int = 4, alpha: float =
citations.extend(new_cites)

if options.create_graph:
figure, chart_data = MetaWinCharts.chart_forest_plot("grouped analysis", effect_sizes.label, forest_data,
alpha, options.bootstrap_mean, groups.label,
normal_ci=norm_ci)
chart_data = MetaWinCharts.chart_forest_plot("grouped analysis", effect_sizes.label, forest_data, alpha,
options.bootstrap_mean, groups.label, normal_ci=norm_ci)

global_values = simple_ma_values(global_mean_data, pooled_var, qt, df, pqt, i2)
else:
Expand All @@ -917,7 +914,7 @@ def grouped_meta_analysis(data, options, decimal_places: int = 4, alpha: float =
model_het = None
error_het = None

return (output_blocks, figure, chart_data,
return (output_blocks, chart_data,
group_ma_values(global_values, group_mean_values, group_het_values, model_het, error_het), citations)


Expand Down Expand Up @@ -945,7 +942,6 @@ def cumulative_meta_analysis(data, options, decimal_places: int = 4, alpha: floa

output_blocks = output_filtered_bad(filtered, bad_data)

figure = None
chart_data = None
n = len(tmp_data)
if n > 1:
Expand Down Expand Up @@ -1016,14 +1012,14 @@ def cumulative_meta_analysis(data, options, decimal_places: int = 4, alpha: floa
decimal_places, alpha, options.log_transformed))

if options.create_graph:
figure, chart_data = MetaWinCharts.chart_forest_plot("cumulative analysis", effect_sizes.label,
cumulative_means, alpha, options.bootstrap_mean,
order.label, normal_ci=norm_ci)
chart_data = MetaWinCharts.chart_forest_plot("cumulative analysis", effect_sizes.label,
cumulative_means, alpha, options.bootstrap_mean, order.label,
normal_ci=norm_ci)

else:
output_blocks.append([get_text("Fewer than two studies were valid for analysis")])

return output_blocks, figure, chart_data
return output_blocks, chart_data


# ---------- simple regression meta-analysis ----------
Expand Down Expand Up @@ -1076,7 +1072,6 @@ def regression_meta_analysis(data, options, decimal_places: int = 4, alpha: floa

output_blocks = output_filtered_bad(filtered, bad_data)

figure = None
chart_data = None
model_het = None
error_het = None
Expand Down Expand Up @@ -1205,14 +1200,13 @@ def regression_meta_analysis(data, options, decimal_places: int = 4, alpha: floa
get_citation("Greenland_1987"))
model = get_text("fixed effects")
fig_citations = ["Hedges_Olkin_1985", "Greenland_1987"]
figure, chart_data = MetaWinCharts.chart_regression(options.independent_variable.label, effect_sizes.label,
x_data, e_data, b1_slope, b0_intercept, model,
ref_list, fig_citations)
chart_data = MetaWinCharts.chart_regression(options.independent_variable.label, effect_sizes.label, x_data,
e_data, b1_slope, b0_intercept, model, ref_list, fig_citations)

else:
output_blocks.append([get_text("Fewer than two studies were valid for analysis")])

return output_blocks, figure, chart_data, reg_ma_values(global_values, model_het, error_het, predictors), citations
return output_blocks, chart_data, reg_ma_values(global_values, model_het, error_het, predictors), citations


# ---------- complex (glm) meta-analysis ----------
Expand Down Expand Up @@ -1665,7 +1659,6 @@ def nested_meta_analysis(data, options, decimal_places: int = 4, alpha: float =

n = len(e_data)

figure = None
chart_data = None
group_het_values = None
group_mean_values = None
Expand Down Expand Up @@ -1810,11 +1803,11 @@ def nested_meta_analysis(data, options, decimal_places: int = 4, alpha: float =
citations.extend(new_cites)

if options.create_graph:
figure, chart_data = MetaWinCharts.chart_forest_plot("nested analysis", effect_sizes.label, forest_data,
alpha, options.bootstrap_mean, normal_ci=norm_ci)
chart_data = MetaWinCharts.chart_forest_plot("nested analysis", effect_sizes.label, forest_data, alpha,
options.bootstrap_mean, normal_ci=norm_ci)

return (output_blocks, figure, chart_data, group_ma_values(global_values, group_mean_values, group_het_values,
model_het_values, error_het_values), citations)
return (output_blocks, chart_data, group_ma_values(global_values, group_mean_values, group_het_values,
model_het_values, error_het_values), citations)


# ---------- trim-and-fill analysis ----------
Expand Down Expand Up @@ -1847,7 +1840,6 @@ def trim_and_fill_analysis(data, options, decimal_places: int = 4, alpha: float

output_blocks = output_filtered_bad(filtered, bad_data)

figure = None
chart_data = None
n = len(e_data)
citations = []
Expand Down Expand Up @@ -1969,13 +1961,12 @@ def trim_and_fill_analysis(data, options, decimal_places: int = 4, alpha: float
decimal_places, alpha, options.log_transformed))

if options.create_graph:
figure, chart_data = MetaWinCharts.chart_trim_fill_plot(effect_sizes.label, tmp_data, n, original_mean,
mean_e)
chart_data = MetaWinCharts.chart_trim_fill_plot(effect_sizes.label, tmp_data, n, original_mean, mean_e)

else:
output_blocks.append([get_text("Fewer than two studies were valid for analysis")])

return output_blocks, figure, chart_data, None, citations
return output_blocks, chart_data, None, citations


# ---------- phylogenetic meta-analysis ----------
Expand Down Expand Up @@ -2275,7 +2266,6 @@ def jackknife_meta_analysis(data, options, decimal_places: int = 4, alpha: float

output_blocks = output_filtered_bad(filtered, bad_data)

figure = None
chart_data = None
n = len(e_data)
citations = []
Expand Down Expand Up @@ -2380,12 +2370,12 @@ def jackknife_meta_analysis(data, options, decimal_places: int = 4, alpha: float
citations.extend(new_cites)

if options.create_graph:
figure, chart_data = MetaWinCharts.chart_forest_plot("jackknife analysis", effect_sizes.label, forest_data,
alpha, options.bootstrap_mean, normal_ci=norm_ci)
chart_data = MetaWinCharts.chart_forest_plot("jackknife analysis", effect_sizes.label, forest_data, alpha,
options.bootstrap_mean, normal_ci=norm_ci)
else:
output_blocks.append([get_text("Fewer than two studies were valid for analysis")])

return output_blocks, figure, chart_data, citations
return output_blocks, chart_data, citations


# ---------- rank correlation analysis ----------
Expand Down
Loading