diff --git a/inst/help/ClassicalMetaAnalysis.md b/inst/help/ClassicalMetaAnalysis.md
deleted file mode 100644
index 9ad5724d..00000000
--- a/inst/help/ClassicalMetaAnalysis.md
+++ /dev/null
@@ -1,11 +0,0 @@
-Classical Meta-Analysis
-==========================
-
-You can read this blog to have more information about Meta Analysis.
-
-Additional documentation will be available in future releases of JASP.
-
-### R Packages
----
-- metafor
-- stats
diff --git a/inst/help/ClassicalMetaAnalysis_nl.md b/inst/help/ClassicalMetaAnalysis_nl.md
deleted file mode 100644
index dce460fd..00000000
--- a/inst/help/ClassicalMetaAnalysis_nl.md
+++ /dev/null
@@ -1,11 +0,0 @@
-Klassieke Meta-Analyse
-==========================
-
-Om meer informatie te verkrijgen over Meta-Analyses kan dit bestand worden gelezen: blog.
-
-Aanvullende documentatie zal beschikbaar zijn in toekomstige versies van JASP.
-
-### R Packages
----
-- metafor
-- stats
diff --git a/inst/qml/ClassicalMetaAnalysis.qml b/inst/qml/ClassicalMetaAnalysis.qml
index 62e9c1e2..7a5a0fcc 100644
--- a/inst/qml/ClassicalMetaAnalysis.qml
+++ b/inst/qml/ClassicalMetaAnalysis.qml
@@ -40,6 +40,7 @@ Form
title: qsTr("Effect Size")
singleVariable: true
allowedColumns: ["scale"]
+ info: qsTr("Variable containing the observed effect sizes.")
}
AssignedVariablesList
{
@@ -48,6 +49,7 @@ Form
title: qsTr("Effect Size Standard Error")
singleVariable: true
allowedColumns: ["scale"]
+ info: qsTr("Variable containing the standard errors corresponding to the effect sizes.")
}
DropDown
@@ -56,6 +58,7 @@ Form
id: method
label: qsTr("Method")
startValue: "restrictedML"
+ info: qsTr("Method used to estimate heterogeneity (tau-squared) in the meta-analysis. The available methods depend on the inclusion of heterogeneity model terms.")
values: (function() {
if (sectionModel.heterogeneityModelTermsCount == 0) {
return [
@@ -89,6 +92,7 @@ Form
label: qsTr("Fixed effect test")
startValue: "knha"
values: [ "z", "t", "knha"]
+ info: qsTr("Method for testing the model coefficients: 'z' uses standard normal approximation, 't' uses t-distribution, and 'knha' uses the Knapp and Hartung adjustment (default).")
}
AssignedVariablesList
@@ -98,6 +102,7 @@ Form
title: qsTr("Predictors")
allowedColumns: ["nominal", "scale"]
allowTypeChange: true
+ info: qsTr("Variables to include as predictors (moderators) in the meta-regression model.")
}
AssignedVariablesList
@@ -108,6 +113,7 @@ Form
singleVariable: true
enabled: !sectionAdvanced.permutationTestChecked
allowedColumns: ["nominal"]
+ info: qsTr("Variable indicating clustering of effect sizes. This option is disabled when permutation tests are selected.")
}
AssignedVariablesList
@@ -116,6 +122,7 @@ Form
title: qsTr("Study Labels")
singleVariable: true
allowedColumns: ["nominal"]
+ info: qsTr("Variable containing labels for the studies. Used for labeling outputs and plots.")
}
}
diff --git a/inst/qml/ClassicalMetaAnalysisMultilevelMultivariate.qml b/inst/qml/ClassicalMetaAnalysisMultilevelMultivariate.qml
index 4cba766d..afddbafd 100644
--- a/inst/qml/ClassicalMetaAnalysisMultilevelMultivariate.qml
+++ b/inst/qml/ClassicalMetaAnalysisMultilevelMultivariate.qml
@@ -41,6 +41,7 @@ Form
title: qsTr("Effect Size")
singleVariable: true
allowedColumns: ["scale"]
+ info: qsTr("Variable containing the observed effect sizes.")
}
AssignedVariablesList
@@ -50,6 +51,7 @@ Form
title: qsTr("Effect Size Standard Error")
singleVariable: true
allowedColumns: ["scale"]
+ info: qsTr("Variable containing the standard errors corresponding to the effect sizes.")
}
DropDown
@@ -58,6 +60,7 @@ Form
id: method
label: qsTr("Method")
startValue: "restrictedML"
+ info: qsTr("Method used to estimate heterogeneity in the meta-analysis.")
values: [
{ label: qsTr("Maximum Likelihood") , value: "maximumLikelihood"},
{ label: qsTr("Restricted ML") , value: "restrictedML" }
@@ -70,6 +73,7 @@ Form
label: qsTr("Fixed effect test")
startValue: "t"
values: [ "z", "t"]
+ info: qsTr("Method for testing the model coefficients: 'z' uses standard normal approximation, 't' uses t-distribution.")
}
AssignedVariablesList
@@ -78,6 +82,7 @@ Form
id: predictors
title: qsTr("Predictors")
allowedColumns: ["nominal", "scale"]
+ info: qsTr("Variables to include as predictors (moderators) in the meta-regression model.")
}
AssignedVariablesList
@@ -87,6 +92,7 @@ Form
title: qsTr("Clustering")
singleVariable: true
allowedColumns: ["nominal"]
+ info: qsTr("Variable indicating clustering of effect sizes. This option is disabled when permutation tests are selected.")
}
AssignedVariablesList
@@ -95,6 +101,7 @@ Form
title: qsTr("Study Labels")
singleVariable: true
allowedColumns: ["nominal"]
+ info: qsTr("Variable containing labels for the studies. Used for labeling outputs and plots.")
}
}
@@ -102,7 +109,8 @@ Form
Section
{
title: qsTr("Random Effects / Model Structure")
- expanded: true
+ expanded: true
+ info: qsTr("Specify the random effects structure for the meta-analysis model, including the types of random effects and their associated variables. Allows modeling of complex data structures such as multilevel, multivariate, autoregressive, spatial, and other forms of dependency.")
ComponentsList
{
@@ -130,6 +138,7 @@ Form
{
id: type
name: "type"
+ info: qsTr("Type of random effect to include in the model.")
values: [
{ label: qsTr("Simple"), value: "simple"},
{ label: qsTr("Nested (multilevel)"), value: "nested"},
@@ -147,6 +156,7 @@ Form
name: "structure"
label: qsTr("Structure")
visible: type.value == "structured" || type.value == "autoregressive" || type.value == "spatial"
+ info: qsTr("Structure of the random effect when the type is 'Structured', 'Autoregressive', or 'Spatial'. Available structures depend on the selected type.")
values: (function() {
if (type.value == "structured") {
return [
@@ -214,6 +224,7 @@ Form
visible: typeValue == "randomSlopes"
listViewType: JASP.Interaction
allowedColumns: ["nominal", "scale"] // this should be choose on assignment
+ info: qsTr("Variables to include as random slope terms in the model. Available when the random effect type is 'Random slopes'.")
addAvailableVariablesToAssigned: false
}
@@ -223,6 +234,7 @@ Form
title: qsTr("Factor Levels")
visible: typeValue == "structured"
singleVariable: true
+ info: qsTr("Variable indicating the factor levels ('Inner Term') for the structured random effect. Available when the random effect type is 'Structured'.")
allowedColumns: ["nominal"]
}
@@ -279,6 +291,7 @@ Form
visible: typeValue == "autoregressive"
singleVariable: true
allowedColumns: ["ordinal", "scale"] // scale for continuous time AR otherwise ordinal
+ info: qsTr("Variable indicating time points for an autoregressive random effects structure. Available when the random effect type is 'Autoregressive'.")
}
AssignedVariablesList
@@ -287,6 +300,7 @@ Form
title: qsTr("Spatial Coordinates")
visible: typeValue == "spatial" && distanceMetric.value != "greatCircle" && distanceMetric.value != "loadFromFile"
allowedColumns: ["scale"]
+ info: qsTr("Variables representing spatial coordinates for a spatial random effects structure. Available when the random effect type is 'Spatial' and the distance metric is not 'Great-circle' or prespecified in a file.")
}
AssignedVariablesList
@@ -296,6 +310,7 @@ Form
visible: typeValue == "spatial" && distanceMetric.value == "greatCircle"
allowedColumns: ["scale"]
singleVariable: true
+ info: qsTr("Variable representing longitude (in decimal degrees, with minus signs for West) for a spatial random effects structure using the 'Great-circle' distance metric. Available when the random effect type is 'Spatial' and the distance metric is 'Great-circle'.")
}
AssignedVariablesList
@@ -305,6 +320,7 @@ Form
visible: typeValue == "spatial" && distanceMetric.value == "greatCircle"
allowedColumns: ["scale"]
singleVariable: true
+ info: qsTr("Variable representing latitude (in decimal degrees, with minus signs for South) for a spatial random effects structure using the 'Great-circle' distance metric. Available when the random effect type is 'Spatial' and the distance metric is 'Great-circle'.")
}
AssignedVariablesList
@@ -314,6 +330,7 @@ Form
visible: typeValue == "spatial" && distanceMetric.value == "loadFromFile"
allowedColumns: ["nominal"]
singleVariable: true
+ info: qsTr("Variable identifying locations when loading distances matrix from a file for a spatial random effects structure. The location corresponds to the row and column names of the distance matrix. The names cannot start with a number.")
}
AssignedVariablesList
@@ -323,6 +340,7 @@ Form
visible: typeValue != "nested"
singleVariable: true
allowedColumns: ["nominal"]
+ info: qsTr("Grouping variable specifying which observations share the same random effect ('Outer Term'). Available for random effect types other than 'Nested (Multilevel)'. The 'Grouping Factor' is not required for 'Spatial' Random Effects.")
}
}
@@ -332,6 +350,7 @@ Form
id: distanceMetric
label: qsTr("Distance metric")
visible: typeValue == "spatial"
+ info: qsTr("Distance metric used to calculate distances in a spatial random effects structure. Available when the random effect type is 'Spatial'.")
values: [
{ label: qsTr("Euclidean"), value: "euclidean" },
{ label: qsTr("Manhattan"), value: "manhattan" },
@@ -348,6 +367,8 @@ Form
visible: typeValue == "spatial" && distanceMetric.value == "loadFromFile"
filter: "*.csv"
save: false
+ info: qsTr("CSV file containing the distance matrix for the spatial random effects structure. The first row and the first column of the file must contain names that map the matrix entries to the 'Location Identifier' (the names cannot start with a number). Available when the random effect type is 'Spatial' and the distance metric is loaded from a file.")
+
}
FileSelector
@@ -357,6 +378,7 @@ Form
visible: typeValue == "knownCorrelation"
filter: "*.csv"
save: false
+ info: qsTr("CSV file containing the known correlation matrix for the random effects structure. The first row and the first column of the file must contain names that map the matrix entries to the 'Grouping Factor' (the names cannot start with a number). Available when the random effect type is 'Known correlation'.")
}
Divider { }
diff --git a/inst/qml/qml_components/ClassicalMetaAnalysisAdvanced.qml b/inst/qml/qml_components/ClassicalMetaAnalysisAdvanced.qml
index 50a4d6b1..f81116ca 100644
--- a/inst/qml/qml_components/ClassicalMetaAnalysisAdvanced.qml
+++ b/inst/qml/qml_components/ClassicalMetaAnalysisAdvanced.qml
@@ -27,6 +27,7 @@ Section
property string module: "metaAnalysis"
columns: 1
+ info: qsTr("Advanced options for the meta-analysis, including optimization settings, clustering, and permutation tests.")
property alias permutationTestChecked: permutationTest.checked
@@ -42,6 +43,7 @@ Section
name: "showMetaforRCode"
text: qsTr("Show metafor R code")
Layout.preferredWidth: 300 * jaspTheme.uiScale
+ info: qsTr("Display the underlying R code used by the metafor package to fit the model.")
}
CheckBox
@@ -49,6 +51,7 @@ Section
name: "weightedEstimation"
text: qsTr("Weighted estimation")
checked: true
+ info: qsTr("Perform weighted estimation using inverse-variance weights. Uncheck for unweighted estimation.")
}
Group
@@ -61,6 +64,7 @@ Section
name: "clusteringUseClubSandwich"
text: qsTr("Use clubSandwich")
checked: true
+ info: qsTr("Use the clubSandwich package for robust variance estimation in clustered data. Enabled when a clustering variable is specified.")
}
CheckBox
@@ -68,6 +72,7 @@ Section
name: "clusteringSmallSampleCorrection"
text: qsTr("Small sample correction")
checked: true
+ info: qsTr("Apply a small-sample correction to the clustered standard errors.")
}
}
@@ -81,6 +86,7 @@ Section
name: "useSparseMatricies"
text: qsTr("Use sparse matricies")
checked: false
+ info: qsTr("Use sparse matrix representations to speed up computations in models with large datasets or complex random effects structures. Available in multilevel/multivariate meta-analysis.")
}
CheckBox
@@ -88,6 +94,7 @@ Section
name: "computeCovarianceMatrix"
text: qsTr("Compute covariance matrix")
checked: true
+ info: qsTr("Compute the covariance matrix of the parameter estimates. Available in multilevel/multivariate meta-analysis.")
}
}
}
@@ -103,6 +110,7 @@ Section
text: qsTr("𝜏²")
enabled: sectionModel.heterogeneityModelTermsCount == 0
childrenOnSameRow: true
+ info: qsTr("Fix the value of 𝜏² in the model instead of estimating it. Unavailable in multilevel/multivariate meta-analysis or with meta-regression model for heterogeneity. A more complex heterogeneity terms in the multilevel/multivariate meta-analysis can be fixed via the 'Extend metafor call' option.")
FormulaField
{
@@ -119,6 +127,7 @@ Section
name: "fixParametersWeights"
text: qsTr("Weights")
childrenOnSameRow: true
+ info: qsTr("Use custom weights for the effect sizes instead of inverse-variance weights.")
DropDown
{
@@ -142,12 +151,14 @@ Section
name: "addOmnibusModeratorTestEffectSizeCoefficients"
enabled: sectionModel.effectSizeModelTermsCount > 0
childrenOnSameRow: false
+ info: qsTr("Include an omnibus test for the specified effect size regression coefficients. Available when effect size model terms are included. The coefficients should be selected via their comma-separated indicies which correspond to the order presented in the 'Effect Size Meta-Regression Coefficients' Table.")
TextField
{
label: ""
name: "addOmnibusModeratorTestEffectSizeCoefficientsValues"
value: "(1, 2)"
+ info: qsTr("Specify the indices of the effect size meta-regression coefficients to include in the omnibus test, e.g. '(1, 2)' for the first and the second coefficient.")
}
}
@@ -158,12 +169,14 @@ Section
enabled: sectionModel.heterogeneityModelTermsCount > 0
childrenOnSameRow: false
visible: module == "metaAnalysis"
+ info: qsTr("Include an omnibus test for the specified heterogeneity regression coefficients. Available when heterogeneity model terms are included. The coefficients should be selected via their comma-separated indicies which correspond to the order presented in the 'Heterogeneity Meta-Regression Coefficients' Table.")
TextField
{
label: ""
name: "addOmnibusModeratorTestHeterogeneityCoefficientsValues"
value: "(1, 2)"
+ info: qsTr("Specify the indices of the heterogeneity meta-regression coefficients to include in the omnibus test, e.g. '(1, 2)' for the first and the second coefficient.")
}
}
}
@@ -174,12 +187,14 @@ Section
enabled: method.value == "restrictedML" || method.value == "maximumLikelihood" || method.value == "empiricalBayes" ||
method.value == "pauleMandel" || method.value == "pauleMandelMu" || method.value == "qeneralizedQStatMu" ||
method.value == "sidikJonkman"
+ info: qsTr("Optimizer settings for estimating the meta-analytic models. A more complex/unavailbe settings can be specified via the 'Extend metafor call' option.")
DropDown
{
name: "optimizerMethod"
id: optimizerMethod
label: qsTr("Method") // TODO: switch default value on heterogeneityModelLink change
+ info: qsTr("Select the optimization method to use for fitting the model. Available in multilevel/multivariate meta-analysis or when heterogeneity model terms are included.")
values: {
if (module == "metaAnalysis") {
if (sectionModel.heterogeneityModelLinkValue == "log")
@@ -200,6 +215,7 @@ Section
text: qsTr("Initial 𝜏²")
checked: false
childrenOnSameRow: true
+ info: qsTr("Specify the initial value of 𝜏² for the optimization algorithm. Available only for specific optimization methods and unavailable in multilevel/multivariate meta-analysis or when heterogeneity model terms are included.")
visible: (method.value == "restrictedML" || method.value == "maximumLikelihood" || method.value == "empiricalBayes" ||
method.value == "sidikJonkman") && sectionModel.heterogeneityModelTermsCount == 0 && module == "metaAnalysis"
@@ -219,6 +235,7 @@ Section
text: qsTr("Minimum 𝜏²")
checked: false
childrenOnSameRow: true
+ info: qsTr("Specify the minimum allowable value of 𝜏² during optimization. Available only for specific optimization methods and unavailable in multilevel/multivariate meta-analysis or when heterogeneity model terms are included.")
visible: (method.value == "pauleMandel" || method.value == "pauleMandelMu" || method.value == "qeneralizedQStatMu") &&
sectionModel.heterogeneityModelTermsCount == 0 && module == "metaAnalysis"
@@ -239,6 +256,7 @@ Section
text: qsTr("Maximum 𝜏²")
checked: false
childrenOnSameRow: true
+ info: qsTr("Specify the maximim allowable value of 𝜏² during optimization. Available only for specific optimization methods and unavailable in multilevel/multivariate meta-analysis or when heterogeneity model terms are included.")
visible: ((method.value == "pauleMandel" || method.value == "pauleMandelMu" || method.value == "qeneralizedQStatMu") &&
sectionModel.heterogeneityModelTermsCount == 0 && module == "metaAnalysis")
@@ -259,6 +277,7 @@ Section
text: qsTr("Maximum evaluations")
checked: false
childrenOnSameRow: true
+ info: qsTr("Set the maximum number of function evaluations for the optimizer. Available when using specific optimization methods in multilevel/multivariate meta-analysis.")
visible: (optimizerMethod.value == "nlminb" || optimizerMethod.value == "uobyqa" || optimizerMethod.value == "newuoa" || optimizerMethod.value == "bobyqa" ||
optimizerMethod.value == "hjk" || optimizerMethod.value == "nmk" || optimizerMethod.value == "mads") && module == "metaAnalysisMultilevelMultivariate"
@@ -278,6 +297,7 @@ Section
text: qsTr("Maximum iterations")
checked: false
childrenOnSameRow: true
+ info: qsTr("Set the maximum number of iterations for the optimizer. Available when using certain estimation or optimization methods.")
visible: ((method.value == "restrictedML" || method.value == "maximumLikelihood" || method.value == "empiricalBayes" ||
method.value == "pauleMandel" || method.value == "pauleMandelMu" || method.value == "qeneralizedQStatMu") && module == "metaAnalysis") ||
((optimizerMethod.value == "nlminb" || optimizerMethod.value == "Nelder-Mead" || optimizerMethod.value == "BFGS" ||
@@ -304,6 +324,7 @@ Section
text: qsTr("Convergence tolerance")
checked: false
childrenOnSameRow: true
+ info: qsTr("Set the convergence tolerance for the optimizer. Available when using certain methods without heterogeneity model terms or specific optimizers in multilevel/multivariate meta-analysis.")
visible: ((method.value == "restrictedML" || method.value == "maximumLikelihood" || method.value == "empiricalBayes" ||
method.value == "pauleMandel" || method.value == "pauleMandelMu" || method.value == "qeneralizedQStatMu") &&
sectionModel.heterogeneityModelTermsCount == 0 && module == "metaAnalysis") ||
@@ -332,6 +353,7 @@ Section
text: qsTr("Convergence relative tolerance")
checked: false
childrenOnSameRow: true
+ info: qsTr("Set the relative convergence tolerance for the optimizer. Available when heterogeneity model terms are included or using specific optimizers in multilevel/multivariate meta-analysis.")
visible: (sectionModel.heterogeneityModelTermsCount > 0 && module == "metaAnalysis") ||
((optimizerMethod.value == "nlminb" || optimizerMethod.value == "Nelder-Mead" || optimizerMethod.value == "BFGS") && module == "metaAnalysisMultilevelMultivariate")
@@ -351,6 +373,7 @@ Section
text: qsTr("Step adjustment")
checked: false
childrenOnSameRow: true
+ info: qsTr("Set the step adjustment factor for the optimizer. Available when using certain methods without heterogeneity model terms and unavailable in multilevel/multivariate meta-analysis.")
visible: ((method.value == "restrictedML" || method.value == "maximumLikelihood" || method.value == "empiricalBayes") &&
sectionModel.heterogeneityModelTermsCount == 0 && module == "metaAnalysis")
@@ -371,6 +394,7 @@ Section
text: qsTr("Initial trust region radius")
checked: false
childrenOnSameRow: true
+ info: qsTr("Set the initial trust region radius for the optimizer. Available when using specific optimization methods in multilevel/multivariate meta-analysis.")
visible: ((optimizerMethod.value == "uobyqa" || optimizerMethod.value == "newuoa" || optimizerMethod.value == "bobyqa") && module == "metaAnalysisMultilevelMultivariate")
DoubleField
@@ -389,6 +413,7 @@ Section
text: qsTr("Final trust region radius")
checked: false
childrenOnSameRow: true
+ info: qsTr("Set the final trust region radius for the optimizer. Available when using specific optimization methods in multilevel/multivariate meta-analysis.")
visible: ((optimizerMethod.value == "uobyqa" || optimizerMethod.value == "newuoa" || optimizerMethod.value == "bobyqa") && module == "metaAnalysisMultilevelMultivariate")
DoubleField
@@ -407,6 +432,7 @@ Section
text: qsTr("Maximum restarts")
checked: false
childrenOnSameRow: true
+ info: qsTr("Set the maximum number of restarts for the optimizer. Available when using the Nelder-Mead method ('nmk') in multilevel/multivariate meta-analysis.")
visible: optimizerMethod.value == "mmk" && module == "metaAnalysisMultilevelMultivariate"
IntegerField
@@ -427,6 +453,8 @@ Section
id: permutationTest
visible: module == "metaAnalysis"
enabled: clustering.count == 0
+ info: qsTr("Perform a permutation test for the model coefficients. Available in the meta-analysis module when clustering is not specified. The resulting permuation p-values are displayed in the 'p (permutation)' column. Note that permutation can be computationally intesive.")
+
RadioButtonGroup
{
@@ -434,6 +462,7 @@ Section
title: qsTr("Type")
columns: 2
radioButtonsOnSameRow: true
+ info: qsTr("Select the type of permutation test.")
RadioButton
{
@@ -461,6 +490,7 @@ Section
value: 1000
min: 10
inclusive: JASP.None
+ info: qsTr("Specify the number of permutations to use in the approximate permutation test.")
}
SetSeed{}
@@ -475,11 +505,13 @@ Section
id: advancedExtendMetaforCall
text: qsTr("Extend metafor call")
checked: false
+ info: qsTr("Allow adding custom arguments to the metafor function call. Consult the metafor R package documentation for the available commands (https://wviechtb.github.io/metafor/reference/rma.uni.html and https://wviechtb.github.io/metafor/reference/rma.mv.html).")
}
TextArea
{
name: "advancedExtendMetaforCallCode"
visible: advancedExtendMetaforCall.checked
+ info: qsTr("The additional arguments to the metafor function call must be specified as a named list (the 'list()' call can be ommited). E.g., 'list(tau2 = 1)' (or 'tau2 = 1') can be used to fix the between-study heterogeneity to a given value. Multiple arguments must be comma-seprated, e.g. 'list(tau2 = 1, gamma2 = 0.5)' (or 'tau2 = 1, gamma2 = 0.5'). New lines are ignored." )
}
}
\ No newline at end of file
diff --git a/inst/qml/qml_components/ClassicalMetaAnalysisBubblePlot.qml b/inst/qml/qml_components/ClassicalMetaAnalysisBubblePlot.qml
index a53da5d2..bef0f0d1 100644
--- a/inst/qml/qml_components/ClassicalMetaAnalysisBubblePlot.qml
+++ b/inst/qml/qml_components/ClassicalMetaAnalysisBubblePlot.qml
@@ -25,6 +25,7 @@ Section
{
title: qsTr("Bubble Plot")
property string module: "metaAnalysis"
+ info: qsTr("Options for visualizing the estimated effect sizes at different levels of the predictors with the observed estimates visualized as bubbles. Continuous predictors can be split into three bins with cutoffs at ±x standard deviations from the mean. Predictors that are not specified for either the x-axis, lines, or plots are averaged over.")
VariablesForm
{
@@ -33,7 +34,7 @@ Section
AvailableVariablesList
{
name: "bubblePlotModelVariables"
- title: qsTr("Model variables")
+ title: qsTr("Model Variables")
source: [{ name: "effectSizeModelTerms", use: "noInteraction" }]
}
@@ -41,9 +42,10 @@ Section
{
name: "bubblePlotSelectedVariable"
id: bubblePlotSelectedVariable
- title: qsTr("Selected variable")
+ title: qsTr("Selected Variable")
singleVariable: true
allowTypeChange:false
+ info: qsTr("Variable to be visualized at the x-axis.")
}
AssignedVariablesList
@@ -52,6 +54,7 @@ Section
id: bubblePlotSeparateLines
title: qsTr("Separate Lines")
allowTypeChange:false
+ info: qsTr("Variable(s) according to which predictions are split across different lines.")
}
AssignedVariablesList
@@ -60,6 +63,7 @@ Section
id: bubblePlotSeparatePlots
title: qsTr("Separate Plots")
allowTypeChange:false
+ info: qsTr("Variable(s) according to which predictions are split across different plots.")
}
}
@@ -77,6 +81,7 @@ Section
min: 0
enabled: bubblePlotSeparateLines.columnsTypes.includes("scale") || bubblePlotSeparatePlots.columnsTypes.includes("scale")
Layout.preferredWidth: 300 * jaspTheme.uiScale
+ info: qsTr("Standard deviation cutoff used for binning continuous covariates.")
}
Group
@@ -87,6 +92,7 @@ Section
{
name: "bubblePlotBubblesSize"
label: qsTr("Size")
+ info: qsTr("Options for determining the size of the observed estimates.")
values: [
{ label: qsTr("Weight") , value: "weight"},
{ label: qsTr("Inverse variance") , value: "inverseVariance" },
@@ -101,6 +107,7 @@ Section
defaultValue: 1
min: 0
inclusive: JASP.None
+ info: qsTr("Set the relative size of the observed estimates.")
}
DoubleField
@@ -111,6 +118,7 @@ Section
min: 0
max: 1
inclusive: JASP.None
+ info: qsTr("Set the transparency of the observed estimates.")
}
DoubleField
@@ -120,6 +128,7 @@ Section
label: qsTr("Jitter")
defaultValue: 1
min: 0
+ info: qsTr("Set the degree of x-coordinate jitter of the observed estimates. Available when the x-axis variable is nominal.")
}
}
}
@@ -131,6 +140,7 @@ Section
name: "bubblePlotConfidenceIntervals"
label: qsTr("Condifence intervals")
checked: true
+ info: qsTr("Include confidence interval of the estimated effect sizes.")
DoubleField
{
@@ -148,6 +158,7 @@ Section
name: "bubblePlotPredictionIntervals"
label: qsTr("Prediction intervals")
checked: true
+ info: qsTr("Include prediction interval of the estimated effect sizes.")
DoubleField
{
@@ -172,6 +183,7 @@ Section
id: bubblePlotTheme
label: qsTr("Theme")
startValue: "jasp"
+ info: qsTr("Set theme of the bubble plot.")
values:
[
{ label: "JASP", value: "jasp"},
@@ -191,12 +203,14 @@ Section
defaultValue: 1.5
min: 0
inclusive: JASP.None
+ info: qsTr("Adjust the text size of the bubble plot.")
}
DropDown
{
name: "bubblePlotLegendPosition"
label: qsTr("Legend position")
+ info: qsTr("Set legend of the bubble plot.")
startValue: "right"
values:
[
diff --git a/inst/qml/qml_components/ClassicalMetaAnalysisDiagnostics.qml b/inst/qml/qml_components/ClassicalMetaAnalysisDiagnostics.qml
index 2d5bace3..b110c964 100644
--- a/inst/qml/qml_components/ClassicalMetaAnalysisDiagnostics.qml
+++ b/inst/qml/qml_components/ClassicalMetaAnalysisDiagnostics.qml
@@ -26,6 +26,7 @@ Section
title: qsTr("Diagnostics")
property string module: "metaAnalysis"
columns: 1
+ info: qsTr("Options for evaluating the influence of individual studies and assessing model diagnostics, including variance inflation factors, casewise diagnostics, and diagnostic plots.")
Group
{
@@ -39,12 +40,14 @@ Section
text: qsTr("Variace inflation factor")
Layout.preferredWidth: 300 * jaspTheme.uiScale
enabled: predictors.count > 0
+ info: qsTr("Include variance inflation factors to assess multicollinearity among predictors. Available when predictors are included in the model.")
CheckBox
{
name: "diagnosticsVarianceInflationFactorAggregate"
text: qsTr("Aggregate by terms")
checked: true
+ info: qsTr("Aggregate variance inflation factors by terms instead of individual coefficients.")
}
}
@@ -52,45 +55,55 @@ Section
{
name: "diagnosticsCasewiseDiagnostics"
text: qsTr("Casewise diagnostics")
+ info: qsTr("Include casewise diagnostics to assess the influence of individual studies on the meta-analysis results.")
CheckBox
{
name: "diagnosticsCasewiseDiagnosticsShowInfluentialOnly"
text: qsTr("Show influential only")
visible: module == "metaAnalysis"
+ info: qsTr("Show only the influential studies in the casewise diagnostics. Unvailable when performing multilevel/multivariate meta-analysis.")
}
CheckBox
{
name: "diagnosticsCasewiseDiagnosticsIncludePredictors"
text: qsTr("Include predictors")
+ info: qsTr("Include predictor variables in the casewise diagnostics output.")
}
CheckBox
{
name: "diagnosticsCasewiseDiagnosticsDifferenceInCoefficients"
text: qsTr("Difference in coefficients")
+ info: qsTr("Include the differences in model coefficients when each study is excluded (DFBETAS).")
}
CheckBox
{
name: "diagnosticsCasewiseDiagnosticsExportToDataset"
text: qsTr("Export to dataset")
+ info: qsTr("Export the casewise diagnostics results to the dataset.")
CheckBox
{
name: "diagnosticsCasewiseDiagnosticsExportToDatasetInfluentialIndicatorOnly"
text: qsTr("Influential indicator only")
checked: true
+ visible: module == "metaAnalysis"
+ info: qsTr("Export only the indicator of influential cases to the dataset.")
}
}
+ /*
CheckBox
{
name: "diagnosticsCasewiseDiagnosticsRerunWithoutInfluentialCases"
text: qsTr("Rerun without influential cases")
visible: false
+ info: qsTr("Option to rerun the analysis without influential cases.")
}
+ */
}
}
@@ -102,6 +115,7 @@ Section
{
name: "diagnosticsPlotsProfileLikelihood"
text: qsTr("Profile likelihood")
+ info: qsTr("Include a profile likelihood plot for the heterogeneity parameter (τ²).")
}
CheckBox
@@ -109,12 +123,14 @@ Section
name: "diagnosticsPlotsBaujat"
text: qsTr("Baujat")
visible: module == "metaAnalysis"
+ info: qsTr("Include a Baujat plot to detect studies contributing to heterogeneity and overall effect size. Unvailable when performing multilevel/multivariate meta-analysis.")
}
CheckBox
{
name: "diagnosticsResidualFunnel"
text: qsTr("Residual funnel")
+ info: qsTr("Include a residual funnel plot.")
}
}
}
diff --git a/inst/qml/qml_components/ClassicalMetaAnalysisEstimatedMarginalMeans.qml b/inst/qml/qml_components/ClassicalMetaAnalysisEstimatedMarginalMeans.qml
index 20e12ab5..85cf9453 100644
--- a/inst/qml/qml_components/ClassicalMetaAnalysisEstimatedMarginalMeans.qml
+++ b/inst/qml/qml_components/ClassicalMetaAnalysisEstimatedMarginalMeans.qml
@@ -26,6 +26,7 @@ Section
title: qsTr("Estimated Marginal Means")
columns: 1
property string module: "metaAnalysis"
+ info: qsTr("Options to compute estimated marginal means (EMMs) for the effect size and heterogeneity models, allowing examination of predicted values at specific levels of moderators.")
Group
{
@@ -49,6 +50,7 @@ Section
name: "estimatedMarginalMeansEffectSizeSelectedVariables"
title: qsTr("Selected variables")
allowTypeChange:false
+ info: qsTr("Variables selected for computing estimated marginal means in the effect size model.")
}
}
@@ -64,12 +66,14 @@ Section
min: 0
enabled: estimatedMarginalMeansEffectSizeSelectedVariables.columnsTypes.includes("scale")
Layout.preferredWidth: 350 * jaspTheme.uiScale
+ info: qsTr("Standard deviation factor for covariates when computing estimated marginal means; applies to scale variables.")
}
CheckBox
{
name: "estimatedMarginalMeansEffectSizeAddAdjustedEstimate"
label: qsTr("Add adjusted estimate")
+ info: qsTr("Include the adjusted effect estimate, which accounts for the moderators in the meta-regression model. This provides the effect size adjusted for the influence of moderators, as opposed to the pooled effect which combines the estimates across all studies.")
}
CheckBox
@@ -77,6 +81,7 @@ Section
name: "estimatedMarginalMeansEffectSizeTestAgainst"
label: qsTr("Test against")
childrenOnSameRow: true
+ info: qsTr("Option to test the estimated marginal means against a specific value.")
DoubleField
{
@@ -110,6 +115,7 @@ Section
name: "estimatedMarginalMeansHeterogeneitySelectedVariables"
title: qsTr("Selected variables")
allowTypeChange:false
+ info: qsTr("Variables selected for computing estimated marginal means in the heterogeneity model. Unvailable when performing multilevel/multivariate meta-analysis.")
}
}
@@ -125,18 +131,21 @@ Section
min: 0
enabled: estimatedMarginalMeansHeterogeneitySelectedVariables.columnsTypes.includes("scale")
Layout.preferredWidth: 350 * jaspTheme.uiScale
+ info: qsTr("Standard deviation factor for covariates when computing estimated marginal means; applies to scale variables.")
}
CheckBox
{
name: "estimatedMarginalMeansHeterogeneityAddAdjustedEstimate"
label: qsTr("Add adjusted estimate")
+ info: qsTr("Include the adjusted heterogeneity estimate, which accounts for the moderators in the heterogeneity meta-regression model. This provides the heterogeneity estimate adjusted for the influence of moderators, as opposed to the pooled heterogeneity estimate which combines the heterogeneity estimates across all studies.")
}
DropDown
{
name: "estimatedMarginalMeansHeterogeneityTransformation"
label: qsTr("Heterogeneity transformation")
+ info: qsTr("Transformation to apply to the heterogeneity estimate: tau (𝜏) or tau-squared (𝜏²).")
values: [
{ label: qsTr("𝜏") , value: "tau" },
{ label: qsTr("𝜏²") , value: "tau2" }
diff --git a/inst/qml/qml_components/ClassicalMetaAnalysisModel.qml b/inst/qml/qml_components/ClassicalMetaAnalysisModel.qml
index afaf93f5..4b37828b 100644
--- a/inst/qml/qml_components/ClassicalMetaAnalysisModel.qml
+++ b/inst/qml/qml_components/ClassicalMetaAnalysisModel.qml
@@ -36,6 +36,7 @@ Section
Group
{
title: qsTr("Effect size model")
+ info: qsTr("Specify the effect size and heterogeneity models for the meta-analysis, including model terms, intercepts, and link functions.")
VariablesForm
{
@@ -55,6 +56,7 @@ Section
title: qsTr("Model Terms")
listViewType: JASP.Interaction
allowTypeChange:false
+ info: qsTr("Variables assigned as model terms in the effect size model.")
}
}
@@ -63,6 +65,7 @@ Section
name: "effectSizeModelIncludeIntercept"
label: qsTr("Include intercept")
checked: true
+ info: qsTr("Include an intercept in the effect size model.")
}
}
@@ -71,6 +74,7 @@ Section
title: qsTr("Heterogeneity model")
visible: module =="metaAnalysis"
columns: 2
+ info: qsTr("Unvailable when performing multilevel/multivariate meta-analysis.")
VariablesForm
{
@@ -91,6 +95,7 @@ Section
listViewType: JASP.Interaction
allowTypeChange:false
addAvailableVariablesToAssigned: false
+ info: qsTr("Variables assigned as model terms in the heterogeneity model. Specifying a heterogeneity model results in a 'location-scale' meta-analytic model.")
}
}
@@ -99,6 +104,7 @@ Section
name: "heterogeneityModelIncludeIntercept";
label: qsTr("Include intercept")
checked: true
+ info: qsTr("Include an intercept in the heterogeneity model.")
}
DropDown
@@ -107,6 +113,7 @@ Section
id: heterogeneityModelLink
label: qsTr("Link")
values: ["log", "identity"]
+ info: qsTr("Link function used in the heterogeneity model: 'log' or 'identity'.")
}
}
}
diff --git a/inst/qml/qml_components/ClassicalMetaAnalysisStatistics.qml b/inst/qml/qml_components/ClassicalMetaAnalysisStatistics.qml
index 419ceba6..a123f1e2 100644
--- a/inst/qml/qml_components/ClassicalMetaAnalysisStatistics.qml
+++ b/inst/qml/qml_components/ClassicalMetaAnalysisStatistics.qml
@@ -26,6 +26,7 @@ Section
title: qsTr("Statistics")
columns: 2
property string module: "metaAnalysis"
+ info: qsTr("Options for summarizing the meta-analytic results.")
Group
{
@@ -33,12 +34,14 @@ Section
columns: 2
enabled: method.value != "fixedEffects" && method.value != "equalEffects"
visible: module == "metaAnalysis"
+ info: qsTr("Summarize the meta-analytic between-study heterogeneity. Unvailable when performing multilevel/multivariate meta-analysis.")
CheckBox
{
text: qsTr("𝜏")
name: "heterogeneityTau"
checked: true
+ info: qsTr("Include 𝜏, the square root of the estimated between-study variance.")
}
CheckBox
@@ -46,6 +49,7 @@ Section
text: qsTr("𝜏²")
name: "heterogeneityTau2"
checked: true
+ info: qsTr("Include 𝜏², the estimated between-study variance.")
}
CheckBox
@@ -53,6 +57,7 @@ Section
text: qsTr("I²")
name: "heterogeneityI2"
checked: false
+ info: qsTr("Include I², the percentage of total variation across studies due to heterogeneity.")
}
CheckBox
@@ -60,6 +65,7 @@ Section
text: qsTr("H²")
name: "heterogeneityH2"
checked: false
+ info: qsTr("Include H², an index indicating the ratio of total variability to sampling variability.")
}
}
@@ -67,12 +73,14 @@ Section
{
title: qsTr("Random Effects / Model Structure")
visible: module == "metaAnalysisMultilevelMultivariate"
+ info: qsTr("Available when performing multilevel/multivariate meta-analysis.")
CheckBox
{
text: qsTr("Test inclusion")
name: "randomEffectsTestInclusion"
checked: false
+ info: qsTr("Test the inclusion of the individual Random Effects / Model Structure components. The test compares the complete model (i.e., including all components) with a model without one of the specified Random Effects / Model Structure components at a time.")
}
/* TODO: will require a lot of work in sorting out which value belongs where
CheckBox
@@ -88,12 +96,14 @@ Section
{
title: qsTr("Meta-Regression")
enabled: predictors.count > 0
+ info: qsTr("Create summaries of the meta-regression. Available when predictors are included.")
CheckBox
{
name: "metaregressionTermTests"
text: qsTr("Term tests")
checked: true
+ info: qsTr("Include tests for each term in the meta-regression model.")
}
CheckBox
@@ -101,6 +111,7 @@ Section
name: "metaregressionCoefficientEstimates"
text: qsTr("Coefficient estimates")
checked: true
+ info: qsTr("Include estimates of the regression coefficients in the meta-regression model.")
}
CheckBox
@@ -108,6 +119,7 @@ Section
name: "metaregressionCoefficientCorrelationMatrix"
text: qsTr("Coefficient correlation matrix")
checked: false
+ info: qsTr("Include the correlation matrix of the regression coefficients.")
}
}
@@ -119,6 +131,7 @@ Section
text: qsTr("Confidence intervals")
checked: true
childrenOnSameRow: true
+ info: qsTr("Include confidence intervals in the tabular output.")
CIField
{
@@ -131,6 +144,7 @@ Section
text: qsTr("Prediction intervals")
name: "predictionIntervals"
checked: true
+ info: qsTr("Include prediction intervals in the tabular output.")
}
DropDown
@@ -138,6 +152,7 @@ Section
name: "transformEffectSize"
label: qsTr("Transform effect size")
setLabelAbove: true
+ info: qsTr("Select a transformation to apply to the effect size estimates in the output. This transformation applies to the 'Meta-Analytic Estimates Table', 'Estimated Marginal Means Table', 'Forest Plot', and the 'Bubble Plot'. The 'Meta-Regression Coeffient Estimates' are not transformed.")
values: [
{ label: qsTr("None") , value: "none" }, // NULL
{ label: qsTr("Fisher's z to r") , value: "fishersZToCorrelation" }, // transf.ztor
@@ -162,6 +177,7 @@ Section
{
name: "fitMeasures"
text: qsTr("Fit measures")
+ info: qsTr("Include fit statistics for the model, such as AIC and BIC.")
}
}
\ No newline at end of file