How to extract the p-value from t test in R?


To extract the p-value from t test in R, we can follow the below steps −

  • First of all, create a data frame with numerical column or a numerical vector.
  • Then, use t.test function to perform the test and put $p.value at the end to extract the p-value from the test output.

Example1

Create the data frame

Let's create a data frame as shown below −

 Live Demo

x<-rnorm(20,5,1)
df<-data.frame(x)
df

On executing, the above script generates the below output(this output will vary on your system due to randomization) −

   x
1 5.854093
2 6.075394
3 5.114147
4 3.672250
5 6.519127
6 5.145577
7 3.005657
8 2.994189
9 6.031218
10 4.981937
11 5.359909
12 4.914696
13 4.767514
14 6.090447
15 5.644259
16 6.210392
17 4.097178
18 5.242026
19 4.999231
20 5.494340

Perform the t test and extract the p-value

Using t.test function to perform the t-test on column x of df and extract the p-value with $p.value −

 Live Demo

x<-rnorm(20,5,1)
df<-data.frame(x)
t.test(df$x,mu=5.8,alternative="less")$p.value

Output

[1] 0.003168284

Example2

Create the vector

Let’s create a vector as shown below −

 Live Demo

y<-sample(1:1000,200)
y
[1] 761 40 629 167 687 200 873 481 218 708 315 649 119 16 603 177 733 852
[19] 925 940 693 620 146 416 13 790 79 464 801 543 91 754 505 235 549 770
[37] 630 991 762 703 805 713 968 316 883 52 717 747 121 756 773 308 283 372
[55] 425 918 391 997 276 912 253 874 281 76 759 658 197 516 917 126 26 615
[73] 240 10 84 676 766 553 286 307 877 778 560 994 736 75 295 697 864 256
[91] 70 50 739 686 66 902 836 125 606 194 819 462 900 891 213 68 808 834
[109] 501 945 325 140 107 531 311 755 169 361 663 577 590 589 211 889 684 257
[127] 580 180 318 872 839 413 936 503 246 190 333 178 46 434 894 365 669 937
[145] 884 752 840 656 698 757 984 772 933 139 317 626 591 502 189 53 410 751
[163] 351 72 645 944 170 465 628 639 243 844 493 855 709 913 710 993 858 504
[181] 596 585 350 618 942 934 980 490 782 699 722 284 740 715 562 156 210 767
[199] 621 19

Perform the t test and extract the p-value

Using t.test function to perform the t-test on vector x and extract the p-value with $p.value −

 Live Demo

y<-sample(1:1000,200)
t.test(y,mu=500,alternative="greater")$p.value

Output

[1] 0.04181906

Updated on: 13-Aug-2021

14K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements