How to Extract Test Results in R

By Andrie de Vries, Joris Meys

Many tests that you run in R return an htest object. That type of object is basically a list with all the information about the test that has been carried out. All these htest objects contain at least a component statistic with the value of the statistic and a component p.value with the value of the p-value.

You can see this easily if you look at the structure of the returned object. The object returned by shapiro.test() looks like this:

> str(result)
List of 4
 $ statistic: Named num 0.933
 ..- attr(*, “names”)= chr “W”
 $ p.value : num 7.76e-05
 $ method  : chr “Shapiro-Wilk normality test”
 $ data.name: chr “transform.beaver$temp”
 - attr(*, “class”)= chr “htest”

Because this htest objects are lists, you can use any of the list subsetting methods to extract the information. The following code, for example, extracts the p-value from the t-test on the beaver data:

> t.test(temp ~ activ, data = transform.beaver)$p.value
[1] 7.269112e-31

The extraction of information from the htest object also works with the results of many more.test functions. You can check what kind of object a test returns by looking at the Help page for the test you want to use.