It is difficult to have a cogent philosophical discussion about things
that have 0 probability of happening. So I will show you some examples
that relate to your question.
If you have two enormous independent samples from the same distribution,
then both samples will still have some variability, the pooled 2-sample t statistic will
be near, but not exactly 0, the P-value will be distributed as
Unif(0,1), and the 95% confidence interval will be very short
and centered very near 0.
An example of one such dataset and t test:
set.seed(902)
x1 = rnorm(10^5, 100, 15)
x2 = rnorm(10^5, 100, 15)
t.test(x1, x2, var.eq=T)
Two Sample t-test
data: x1 and x2
t = -0.41372, df = 2e+05, p-value = 0.6791
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.1591659 0.1036827
sample estimates:
mean of x mean of y
99.96403 99.99177
Here are summarized results from 10,000 such situations. First, the distribution of P-values.
set.seed(2019)
pv = replicate(10^4,
t.test(rnorm(10^5,100,15),rnorm(10^5,100,15),var.eq=T)$p.val)
mean(pv)
[1] 0.5007066 # aprx 1/2
hist(pv, prob=T, col="skyblue2", main="Simulated P-values")
curve(dunif(x), add=T, col="red", lwd=2, n=10001)
Next the test statistic:
set.seed(2019) # same seed as above, so same 10^4 datasets
st = replicate(10^4,
t.test(rnorm(10^5,100,15),rnorm(10^5,100,15),var.eq=T)$stat)
mean(st)
[1] 0.002810332 # aprx 0
hist(st, prob=T, col="skyblue2", main="Simulated P-values")
curve(dt(x, df=2e+05), add=T, col="red", lwd=2, n=10001)
And so on for the width of the CI.
set.seed(2019)
w.ci = replicate(10^4,
diff(t.test(rnorm(10^5,100,15),
rnorm(10^5,100,15),var.eq=T)$conf.int))
mean(w.ci)
[1] 0.2629603
It is almost impossible to get a
P-value of unity doing an exact test with continuous data, where
assumptions are met. So much so, that a wise statistician will ponder
what might have gone wrong upon seeing a P-value of 1.
For example, you might give the software two identical large samples.
The programming will carry on as if these are two independent samples, and
give strange results. But even then the CI will not be of 0 width.
set.seed(902)
x1 = rnorm(10^5, 100, 15)
x2 = x1
t.test(x1, x2, var.eq=T)
Two Sample t-test
data: x1 and x2
t = 0, df = 2e+05, p-value = 1
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.1316593 0.1316593
sample estimates:
mean of x mean of y
99.96403 99.96403