Should I use the t-test or the Wilcoxon rank sum test given these qqplots and Shapiro-Wilk stats [duplicate]

I have 4 groups and I want to test if the pairwise difference in means are significantly different. There are 6 pairwise differences.

The QQnorm plots of the 4 groups look like this: The Shapiro-Wilk p value looks like this:

> round(shapiro.test(G)$p.value,16) [1] 4.784327e-06 > round(shapiro.test(B)$p.value,16)
[1] 1.421101e-10
> round(shapiro.test(D)$p.value,16) [1] 2.436e-13 > round(shapiro.test(R)$p.value,16) #HO is normal
[1] 0.004189489


Given the qqplots and p-values I think the data is not normal so I was not going to use a t-test to test the pairwise difference in means. Instead I was going to use a Wilcoxon rank sum test?

Is this the correct approach?

JUST FYI when I run the t-test I get these p-values

> round(t.test(B,G)$p.value,6) [1] 0.060317 > round(t.test(B,R)$p.value,6)
[1] 0.005074
> round(t.test(B,D)$p.value,6) [1] 0.266044 > round(t.test(G,R)$p.value,6)
[1] 0.077648
> round(t.test(G,D)$p.value,6) [1] 0.422073 > round(t.test(R,D)$p.value,6)
[1] 0.038625


With wilcox.test I get these p-values

> wilcox.test(B, G, mu=0)$p.value [1] 3.363941e-05 > wilcox.test(B, R,mu=0)$p.value
[1] 1.010833e-06
> wilcox.test(B, D,mu=0)$p.value [1] 0.02616785 > wilcox.test(G,R ,mu=0)$p.value
[1] 0.06497015
> wilcox.test(G, D,mu=0)$p.value [1] 0.05084219 > wilcox.test(R, D,mu=0)$p.value
[1] 0.001667653
>


So should I use the t-test or the Wilcoxon rank sum test?

Note this articel here: