digraph G { rankdir=TB; ranksep=0.2; node [fontsize=12, shape=rectangle, style=filled, nodesep=0.95,ranksep=0.95]; edge [penwidth=2, fontsize=10 ]; subgraph cluster_IR { label = "interval/ ratio"; bgcolor=lightblue; IR[label="data normal distributed\nor n large?"]; normal[label="1, 2, or >2 groups?",color="green"]; notnormal[label="transform into\nnormal?"]; trulynotnormal[label="1, 2, or >2 groups?"]; IR->normal[label="normal"]; IR->notnormal[label="not normal"]; notnormal->normal[label="yes"]; notnormal->trulynotnormal[label="no"]; onesamp[label="one-sample\nt-test"]; normal->onesamp[label="1 group"]; ttest[label="t-test"]; twosamp->ttest[label="independent"]; twosamp[label="paired or\nindependent?"]; pairedttest[label="paired\nt-test"]; normal->twosamp[label="2 groups"]; twosamp->pairedttest[label="paired"]; twosampNN[label="paired or\nindependent?"]; trulynotnormal->twosampNN[label="2 groups"]; signrank[label="Wilcoxon signed\nrank test"]; trulynotnormal->signrank[label="1 group\n(fix other\ngroup to\n one value)"]; ANOVA; normal->ANOVA[color="red"]; } trulynotnormal->signtest[label="1 group\n(fix other\ngroup to\n one value)"]; twosampNN->signrank[label="paired"]; twosampNN->indepTwosampNN[label="independent"]; data->ordinal[label="ordinal"]; subgraph cluster_O { label = "ordinal"; bgcolor=lightblue; indepTwosampNN[label="Wilcoxon-Mann-Whitney\ntest"]; twosampOrd[label="paired or\nindependent?"]; ordinal->twosampOrd[label="2 groups"]; twosampOrd->indepTwosampNN[label="independent"]; signtest[label="sign test"]; ordinal[label="1, 2, or >2 groups?"]; ordinal->signtest[label="1 group\n(fix other\ngroup to\n one value)"]; } subgraph cluster_ND { label = "nominal/discrete"; bgcolor=lightblue; nd_test_type[label="1, 2, or >2 variables"]; onesampND[label="chi square for\ngoodness of fit"]; twosampND[label="chi square for\nindependence"]; nd_test_type->onesampND[label="1 variable"]; nd_test_type->onesampND[label="n variables"]; nd_test_type->twosampND[label="2 variables"]; } data[label="type of data?"]; data->IR[label="interval/ratio"]; data->nd_test_type[label="nominal/discrete"]; twosampNN->signtest[label="paired"]; twosampOrd->signtest[label="paired"]; }