Here's the kind of nonsense you can get when you try to use the one-sample Wilcoxon signed rank test on data from a highly skewed distribution, such as an exponential population with mean $1.$
This population has median $\eta = -\ln(.5) = 0.69315.$
qexp(.5)
[1] 0.6931472
Look at sample x
of size $n = 1000$ from this distribution.
set.seed(2021)
x = rexp(1000)
summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.000806 0.283089 0.691022 1.005858 1.415143 6.687939
boxplot(x, col="skyblue2", pch=20, horizontal=T)
So the population median is $\eta = 0.69315,$ the
sample median is $H = 0.69102$ and the null hypothesis
$H_0: \eta = 0.69315$ against $H_0: \eta \ne 0.69315.$
is strongly rejected with P-value near $0.$
wilcox.test(x, mu = 0.69315)
Wilcoxon signed rank test
with continuity correction
data: x
V = 298800, p-value = 1.072e-07
alternative hypothesis:
true location is not equal to 0.69315
This is not a fluke and not due to the large sample size. In 100,000 tests on exponential samples of
size $n=100,$ almost 40% led to rejection at the 5% level, Of course, a legitimate test would
have rejected only 5% of the time.
set.seed(1234)
pv = replicate(10^5, wilcox.test(rexp(100), mu = 0.69315)$p.val)
mean(pv <= .05)
[1] 0.38491