# How to find critical values and p-values from the t-distribution (in R)

See all solutions.

If we have a test statistic and need to find the corresponding p-value from the t-distribution, how do we do that? If we need to find a p-value from the t distribution, given that we know the significance level and degrees of freedom, how do we do that?

## Solution

If we choose a value $0 \le \alpha \le 1$ as our Type 1 error rate, and we know the sample size of our data, then we can find the critical value from the $t$-distribution using R’s qt() function. The code below shows how to do this for left-tailed, right-tailed, and two-tailed hypothesis tests.

1
2
3
4
5
alpha <- 0.05                                  # Replace with your alpha value
n <- 68                                        # Replace with your sample size
qt(p = alpha, df = n-1, lower.tail = TRUE)     # Critical value for a left-tailed test
qt(p = alpha, df = n-1, lower.tail = FALSE)    # Critical value for a right-tailed test
qt(p = alpha/2, df = n-1, lower.tail = FALSE)  # Critical value for a two-tailed test

1
2
3
4
5
6
7
8
9
[1] -1.667916

[1] 1.667916

[1] 1.996008


We can also compute $p$-values from the $t$-distribution to compare to a test statistic. As an example, we’ll use a test statistic of 2.67, but you can substitute your test statistic’s value instead.

We can find the $p$-value for this test statistic using R’s pt() function. We will use the same example sample size as above. Again, we show code for left-tailed, right-tailed, and two-tailed tests.

1
2
3
4
5
test_statistic <- 2.67                              # Replace with your test statistic
n <- 68                                             # Replace with your sample size
pt(test_statistic, df = n-1, lower.tail = TRUE)     # p-value for a left-tailed test
pt(test_statistic, df = n-1, lower.tail = FALSE)    # p-value for a right-tailed test
2*pt(test_statistic, df = n-1, lower.tail = FALSE)  # p-value for a two-tailed test

1
2
3
4
5
6
7
8
9
[1] 0.9952455

[1] 0.004754548

[1] 0.009509096