This function makes it really easy to get all all your t-test results in one simple, publication-ready table.
Let's first load the demo data. This data set comes with base R
(meaning you have it too and can directly type this command into your R
console).
head(mtcars)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
Load the rempsyc
package:
library(rempsyc)
Note: If you haven't installed this package yet, you will need to install it via the following command:
devtools::install_github("rempsyc/rempsyc")
. Packagedevtools
is necessary for this command. If you haven't installeddevtools
yet, install it viainstall.packages("devtools")
.
nice_t_test(data = mtcars,
response = "mpg",
group = "am",
warning = FALSE)
## Dependent Variable t df p d CI_lower
## 1 mpg -3.767123 18.33225 0.001373638 -1.477947 -2.265973
## CI_upper
## 1 -0.6705686
Note: This function relies on the base R
t.test
function, which uses the Welch t-test per default (see why here: https://daniellakens.blogspot.com/2015/01/always-use-welchs-t-test-instead-of.html). To use the Student t-test, simply add the following argument:var.equal = TRUE
.
Now the best thing about this function is that you can put all your dependent variables of interest in the function call and it will output a sweet, pre-formatted table for your convenience.
nice_t_test(data = mtcars,
response = names(mtcars)[1:6],
group = "am",
warning = FALSE) -> t.test.results
t.test.results
## Dependent Variable t df p d CI_lower
## 1 mpg -3.767123 18.33225 1.373638e-03 -1.4779471 -2.2659731
## 2 cyl 3.354114 25.85363 2.464713e-03 1.2084550 0.4315896
## 3 disp 4.197727 29.25845 2.300413e-04 1.4452210 0.6417834
## 4 hp 1.266189 18.71541 2.209796e-01 0.4943081 -0.2260466
## 5 drat -5.646088 27.19780 5.266742e-06 -2.0030843 -2.8592770
## 6 wt 5.493905 29.23352 6.272020e-06 1.8924060 1.0300224
## CI_upper
## 1 -0.6705686
## 2 1.9683146
## 3 2.2295592
## 4 1.2066992
## 5 -1.1245498
## 6 2.7329218
If we want it to look nice
my_table <- nice_table(t.test.results)
my_table
<div class="tabwid"><style>.cl-2589ee48{table-layout:auto;}.cl-25753124{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-25753125{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:italic;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-257de242{margin:0;text-align:center;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 2;background-color:transparent;}.cl-257e095c{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0.5pt solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-257e095d{background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-257e095e{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table class='cl-2589ee48'><thead><tr style="overflow-wrap:break-word;"><td class="cl-257e095c"><p class="cl-257de242"><span class="cl-25753124">Dependent Variable</span></p></td><td class="cl-257e095c"><p class="cl-257de242"><span class="cl-25753125">t</span></p></td><td class="cl-257e095c"><p class="cl-257de242"><span class="cl-25753125">df</span></p></td><td class="cl-257e095c"><p class="cl-257de242"><span class="cl-25753125">p</span></p></td><td class="cl-257e095c"><p class="cl-257de242"><span class="cl-25753125">d</span></p></td><td class="cl-257e095c"><p class="cl-257de242"><span class="cl-25753124">95% CI</span></p></td></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">mpg</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">-3.77</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">18.33</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">.001</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">-1.48</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">[-2.27, -0.67]</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">cyl</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">3.35</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">25.85</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">.002</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">1.21</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">[0.43, 1.97]</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">disp</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">4.20</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">29.26</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">< .001</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">1.45</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">[0.64, 2.23]</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">hp</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">1.27</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">18.72</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">.221</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">0.49</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">[-0.23, 1.21]</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">drat</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">-5.65</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">27.20</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">< .001</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">-2.00</span></p></td><td class="cl-257e095d"><p class="cl-257de242"><span class="cl-25753124">[-2.86, -1.12]</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-257e095e"><p class="cl-257de242"><span class="cl-25753124">wt</span></p></td><td class="cl-257e095e"><p class="cl-257de242"><span class="cl-25753124">5.49</span></p></td><td class="cl-257e095e"><p class="cl-257de242"><span class="cl-25753124">29.23</span></p></td><td class="cl-257e095e"><p class="cl-257de242"><span class="cl-25753124">< .001</span></p></td><td class="cl-257e095e"><p class="cl-257de242"><span class="cl-25753124">1.89</span></p></td><td class="cl-257e095e"><p class="cl-257de242"><span class="cl-25753124">[1.03, 2.73]</span></p></td></tr></tbody></table></div>
Note: The d is Cohen's d, and the 95% CI is the confidence interval of the effect size (Cohen's d). p is the p-value, df is degrees of freedom, and t is the t-value.
Let's save it to word for use in a publication (optional).
save_as_docx(my_table, path = "t-tests.docx")
The function can be passed some of the regular arguments of the base t.test()
function. For example:
nice_t_test(data = mtcars,
response = "mpg",
group = "am",
var.equal = TRUE) |>
nice_table()
<div class="tabwid"><style>.cl-25c7aa44{table-layout:auto;}.cl-25b5f9a2{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-25b5f9a3{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:italic;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-25bcd6a0{margin:0;text-align:center;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 2;background-color:transparent;}.cl-25bcfdb0{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0.5pt solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-25bcfdb1{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table class='cl-25c7aa44'><thead><tr style="overflow-wrap:break-word;"><td class="cl-25bcfdb0"><p class="cl-25bcd6a0"><span class="cl-25b5f9a2">Dependent Variable</span></p></td><td class="cl-25bcfdb0"><p class="cl-25bcd6a0"><span class="cl-25b5f9a3">t</span></p></td><td class="cl-25bcfdb0"><p class="cl-25bcd6a0"><span class="cl-25b5f9a3">df</span></p></td><td class="cl-25bcfdb0"><p class="cl-25bcd6a0"><span class="cl-25b5f9a3">p</span></p></td><td class="cl-25bcfdb0"><p class="cl-25bcd6a0"><span class="cl-25b5f9a3">d</span></p></td><td class="cl-25bcfdb0"><p class="cl-25bcd6a0"><span class="cl-25b5f9a2">95% CI</span></p></td></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-25bcfdb1"><p class="cl-25bcd6a0"><span class="cl-25b5f9a2">mpg</span></p></td><td class="cl-25bcfdb1"><p class="cl-25bcd6a0"><span class="cl-25b5f9a2">-4.11</span></p></td><td class="cl-25bcfdb1"><p class="cl-25bcd6a0"><span class="cl-25b5f9a2">30</span></p></td><td class="cl-25bcfdb1"><p class="cl-25bcd6a0"><span class="cl-25b5f9a2">< .001</span></p></td><td class="cl-25bcfdb1"><p class="cl-25bcd6a0"><span class="cl-25b5f9a2">-1.48</span></p></td><td class="cl-25bcfdb1"><p class="cl-25bcd6a0"><span class="cl-25b5f9a2">[-2.27, -0.67]</span></p></td></tr></tbody></table></div>
nice_t_test(data = mtcars,
response = "mpg",
group = "am",
alternative = "less",
warning = FALSE) |>
nice_table()
<div class="tabwid"><style>.cl-26141208{table-layout:auto;}.cl-25fae8b4{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-25fae8b5{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:italic;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-2602fdb0{margin:0;text-align:center;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 2;background-color:transparent;}.cl-260324b6{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0.5pt solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-260324b7{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table class='cl-26141208'><thead><tr style="overflow-wrap:break-word;"><td class="cl-260324b6"><p class="cl-2602fdb0"><span class="cl-25fae8b4">Dependent Variable</span></p></td><td class="cl-260324b6"><p class="cl-2602fdb0"><span class="cl-25fae8b5">t</span></p></td><td class="cl-260324b6"><p class="cl-2602fdb0"><span class="cl-25fae8b5">df</span></p></td><td class="cl-260324b6"><p class="cl-2602fdb0"><span class="cl-25fae8b5">p</span></p></td><td class="cl-260324b6"><p class="cl-2602fdb0"><span class="cl-25fae8b5">d</span></p></td><td class="cl-260324b6"><p class="cl-2602fdb0"><span class="cl-25fae8b4">95% CI</span></p></td></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-260324b7"><p class="cl-2602fdb0"><span class="cl-25fae8b4">mpg</span></p></td><td class="cl-260324b7"><p class="cl-2602fdb0"><span class="cl-25fae8b4">-3.77</span></p></td><td class="cl-260324b7"><p class="cl-2602fdb0"><span class="cl-25fae8b4">18.33</span></p></td><td class="cl-260324b7"><p class="cl-2602fdb0"><span class="cl-25fae8b4">.001</span></p></td><td class="cl-260324b7"><p class="cl-2602fdb0"><span class="cl-25fae8b4">-1.48</span></p></td><td class="cl-260324b7"><p class="cl-2602fdb0"><span class="cl-25fae8b4">[-2.27, -0.67]</span></p></td></tr></tbody></table></div>
nice_t_test(data = mtcars,
response = "mpg",
mu = 17,
warning = FALSE) |>
nice_table()
<div class="tabwid"><style>.cl-265c893e{table-layout:auto;}.cl-2647c8b4{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-2647c8b5{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:italic;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-264f689e{margin:0;text-align:center;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 2;background-color:transparent;}.cl-264fb6aa{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0.5pt solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-264fb6ab{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table class='cl-265c893e'><thead><tr style="overflow-wrap:break-word;"><td class="cl-264fb6aa"><p class="cl-264f689e"><span class="cl-2647c8b4">Dependent Variable</span></p></td><td class="cl-264fb6aa"><p class="cl-264f689e"><span class="cl-2647c8b5">t</span></p></td><td class="cl-264fb6aa"><p class="cl-264f689e"><span class="cl-2647c8b5">df</span></p></td><td class="cl-264fb6aa"><p class="cl-264f689e"><span class="cl-2647c8b5">p</span></p></td><td class="cl-264fb6aa"><p class="cl-264f689e"><span class="cl-2647c8b5">d</span></p></td><td class="cl-264fb6aa"><p class="cl-264f689e"><span class="cl-2647c8b4">95% CI</span></p></td></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-264fb6ab"><p class="cl-264f689e"><span class="cl-2647c8b4">mpg</span></p></td><td class="cl-264fb6ab"><p class="cl-264f689e"><span class="cl-2647c8b4">2.90</span></p></td><td class="cl-264fb6ab"><p class="cl-264f689e"><span class="cl-2647c8b4">31</span></p></td><td class="cl-264fb6ab"><p class="cl-264f689e"><span class="cl-2647c8b4">.007</span></p></td><td class="cl-264fb6ab"><p class="cl-264f689e"><span class="cl-2647c8b4">0.51</span></p></td><td class="cl-264fb6ab"><p class="cl-264f689e"><span class="cl-2647c8b4">[0.14, 0.88]</span></p></td></tr></tbody></table></div>
nice_t_test(data = ToothGrowth,
response = "len",
group = "supp",
paired = TRUE) |>
nice_table()
<div class="tabwid"><style>.cl-26943460{table-layout:auto;}.cl-2682f93e{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-2682f93f{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:italic;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-2689609e{margin:0;text-align:center;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 2;background-color:transparent;}.cl-2689609f{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0.5pt solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-268960a0{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table class='cl-26943460'><thead><tr style="overflow-wrap:break-word;"><td class="cl-2689609f"><p class="cl-2689609e"><span class="cl-2682f93e">Dependent Variable</span></p></td><td class="cl-2689609f"><p class="cl-2689609e"><span class="cl-2682f93f">t</span></p></td><td class="cl-2689609f"><p class="cl-2689609e"><span class="cl-2682f93f">df</span></p></td><td class="cl-2689609f"><p class="cl-2689609e"><span class="cl-2682f93f">p</span></p></td><td class="cl-2689609f"><p class="cl-2689609e"><span class="cl-2682f93f">d</span></p></td><td class="cl-2689609f"><p class="cl-2689609e"><span class="cl-2682f93e">95% CI</span></p></td></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-268960a0"><p class="cl-2689609e"><span class="cl-2682f93e">len</span></p></td><td class="cl-268960a0"><p class="cl-2689609e"><span class="cl-2682f93e">3.30</span></p></td><td class="cl-268960a0"><p class="cl-2689609e"><span class="cl-2682f93e">29</span></p></td><td class="cl-268960a0"><p class="cl-2689609e"><span class="cl-2682f93e">.003</span></p></td><td class="cl-268960a0"><p class="cl-2689609e"><span class="cl-2682f93e">0.60</span></p></td><td class="cl-268960a0"><p class="cl-2689609e"><span class="cl-2682f93e">[0.21, 0.99]</span></p></td></tr></tbody></table></div>
It is also possible to correct for multiple comparisons. Note that only a Bonferroni correction is supported at this time (which simply multiplies the p-value by the number of tests). Bonferroni will automatically correct for the number of tests.
nice_t_test(data = mtcars,
response = names(mtcars)[1:6],
group = "am",
correction = "bonferroni",
warning = FALSE) |>
nice_table()
<div class="tabwid"><style>.cl-26dc2e78{table-layout:auto;}.cl-26c945a6{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-26c945a7{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:italic;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-26d0be8a{margin:0;text-align:center;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 2;background-color:transparent;}.cl-26d10ca0{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0.5pt solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-26d10ca1{background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-26d10ca2{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table class='cl-26dc2e78'><thead><tr style="overflow-wrap:break-word;"><td class="cl-26d10ca0"><p class="cl-26d0be8a"><span class="cl-26c945a6">Dependent Variable</span></p></td><td class="cl-26d10ca0"><p class="cl-26d0be8a"><span class="cl-26c945a7">t</span></p></td><td class="cl-26d10ca0"><p class="cl-26d0be8a"><span class="cl-26c945a7">df</span></p></td><td class="cl-26d10ca0"><p class="cl-26d0be8a"><span class="cl-26c945a7">p</span></p></td><td class="cl-26d10ca0"><p class="cl-26d0be8a"><span class="cl-26c945a7">d</span></p></td><td class="cl-26d10ca0"><p class="cl-26d0be8a"><span class="cl-26c945a6">95% CI</span></p></td></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">mpg</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">-3.77</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">18.33</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">.008</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">-1.48</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">[-2.27, -0.67]</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">cyl</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">3.35</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">25.85</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">.015</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">1.21</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">[0.43, 1.97]</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">disp</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">4.20</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">29.26</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">.001</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">1.45</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">[0.64, 2.23]</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">hp</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">1.27</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">18.72</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">1.326</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">0.49</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">[-0.23, 1.21]</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">drat</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">-5.65</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">27.20</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">< .001</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">-2.00</span></p></td><td class="cl-26d10ca1"><p class="cl-26d0be8a"><span class="cl-26c945a6">[-2.86, -1.12]</span></p></td></tr><tr style="overflow-wrap:break-word;"><td class="cl-26d10ca2"><p class="cl-26d0be8a"><span class="cl-26c945a6">wt</span></p></td><td class="cl-26d10ca2"><p class="cl-26d0be8a"><span class="cl-26c945a6">5.49</span></p></td><td class="cl-26d10ca2"><p class="cl-26d0be8a"><span class="cl-26c945a6">29.23</span></p></td><td class="cl-26d10ca2"><p class="cl-26d0be8a"><span class="cl-26c945a6">< .001</span></p></td><td class="cl-26d10ca2"><p class="cl-26d0be8a"><span class="cl-26c945a6">1.89</span></p></td><td class="cl-26d10ca2"><p class="cl-26d0be8a"><span class="cl-26c945a6">[1.03, 2.73]</span></p></td></tr></tbody></table></div>
There are other ways to do t-tests and format the results properly, should you wish—for example through the broom
and report
packages. Examples below.
model <- t.test(mpg ~ am, data = mtcars)
broom
tablelibrary(broom)
(stats.table <- tidy(model, conf.int = TRUE))
## # A tibble: 1 × 10
## estim…¹ estim…² estim…³ stati…⁴ p.value param…⁵ conf.…⁶ conf.…⁷ method alter…⁸
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> <chr>
## 1 -7.24 17.1 24.4 -3.77 0.00137 18.3 -11.3 -3.21 Welch… two.si…
## # … with abbreviated variable names ¹estimate, ²estimate1, ³estimate2,
## # ⁴statistic, ⁵parameter, ⁶conf.low, ⁷conf.high, ⁸alternative
nice_table(stats.table, broom = "t.test")
<div class="tabwid"><style>.cl-273935dc{table-layout:auto;}.cl-2726e936{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-2726e937{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:italic;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-2726e938{font-family:'Times New Roman';font-size:7.2pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;position: relative;top:3.6pt;}.cl-272f4c52{margin:0;text-align:center;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 2;background-color:transparent;}.cl-272f7358{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0.5pt solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-272f7359{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table class='cl-273935dc'><thead><tr style="overflow-wrap:break-word;"><td class="cl-272f7358"><p class="cl-272f4c52"><span class="cl-2726e936">Method</span></p></td><td class="cl-272f7358"><p class="cl-272f4c52"><span class="cl-2726e936">Alternative</span></p></td><td class="cl-272f7358"><p class="cl-272f4c52"><span class="cl-2726e936">Mean 1</span></p></td><td class="cl-272f7358"><p class="cl-272f4c52"><span class="cl-2726e936">Mean 2</span></p></td><td class="cl-272f7358"><p class="cl-272f4c52"><span class="cl-2726e937">M</span><span class="cl-2726e938">1</span><span class="cl-2726e936"> - </span><span class="cl-2726e937">M</span><span class="cl-2726e938">2</span></p></td><td class="cl-272f7358"><p class="cl-272f4c52"><span class="cl-2726e937">t</span></p></td><td class="cl-272f7358"><p class="cl-272f4c52"><span class="cl-2726e937">df</span></p></td><td class="cl-272f7358"><p class="cl-272f4c52"><span class="cl-2726e937">p</span></p></td><td class="cl-272f7358"><p class="cl-272f4c52"><span class="cl-2726e936">95% CI</span></p></td></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-272f7359"><p class="cl-272f4c52"><span class="cl-2726e936">Welch Two Sample t-test</span></p></td><td class="cl-272f7359"><p class="cl-272f4c52"><span class="cl-2726e936">two.sided</span></p></td><td class="cl-272f7359"><p class="cl-272f4c52"><span class="cl-2726e936">17.15</span></p></td><td class="cl-272f7359"><p class="cl-272f4c52"><span class="cl-2726e936">24.39</span></p></td><td class="cl-272f7359"><p class="cl-272f4c52"><span class="cl-2726e936">-7.24</span></p></td><td class="cl-272f7359"><p class="cl-272f4c52"><span class="cl-2726e936">-3.77</span></p></td><td class="cl-272f7359"><p class="cl-272f4c52"><span class="cl-2726e936">18.33</span></p></td><td class="cl-272f7359"><p class="cl-272f4c52"><span class="cl-2726e936">.001</span></p></td><td class="cl-272f7359"><p class="cl-272f4c52"><span class="cl-2726e936">[-11.28, -3.21]</span></p></td></tr></tbody></table></div>
report
tablelibrary(report)
(stats.table <- as.data.frame(report(model)))
## Welch Two Sample t-test
##
## Parameter | Group | Mean_Group1 | Mean_Group2 | Difference | 95% CI | t(18.33) | p | d | d CI
## ------------------------------------------------------------------------------------------------------------------------
## mpg | am | 17.15 | 24.39 | -7.24 | [-11.28, -3.21] | -3.77 | 0.001 | -1.76 | [-2.82, -0.67]
##
## Alternative hypothesis: two.sided
nice_table(stats.table, report = "t.test")
<div class="tabwid"><style>.cl-279eb27c{table-layout:auto;}.cl-278ab876{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-278ab877{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:italic;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-27925860{margin:0;text-align:center;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 2;background-color:transparent;}.cl-27927f66{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0.5pt solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-27927f67{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table class='cl-279eb27c'><thead><tr style="overflow-wrap:break-word;"><td class="cl-27927f66"><p class="cl-27925860"><span class="cl-278ab876">Method</span></p></td><td class="cl-27927f66"><p class="cl-27925860"><span class="cl-278ab876">Alternative</span></p></td><td class="cl-27927f66"><p class="cl-27925860"><span class="cl-278ab876">Parameter</span></p></td><td class="cl-27927f66"><p class="cl-27925860"><span class="cl-278ab876">Group</span></p></td><td class="cl-27927f66"><p class="cl-27925860"><span class="cl-278ab876">Mean_Group1</span></p></td><td class="cl-27927f66"><p class="cl-27925860"><span class="cl-278ab876">Mean_Group2</span></p></td><td class="cl-27927f66"><p class="cl-27925860"><span class="cl-278ab876">Difference</span></p></td><td class="cl-27927f66"><p class="cl-27925860"><span class="cl-278ab877">t</span></p></td><td class="cl-27927f66"><p class="cl-27925860"><span class="cl-278ab876">95% CI (</span><span class="cl-278ab877">t</span><span class="cl-278ab876">)</span></p></td><td class="cl-27927f66"><p class="cl-27925860"><span class="cl-278ab877">df</span></p></td><td class="cl-27927f66"><p class="cl-27925860"><span class="cl-278ab877">p</span></p></td><td class="cl-27927f66"><p class="cl-27925860"><span class="cl-278ab877">d</span></p></td><td class="cl-27927f66"><p class="cl-27925860"><span class="cl-278ab876">95% CI (</span><span class="cl-278ab877">d</span><span class="cl-278ab876">)</span></p></td></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-27927f67"><p class="cl-27925860"><span class="cl-278ab876">Welch Two Sample t-test</span></p></td><td class="cl-27927f67"><p class="cl-27925860"><span class="cl-278ab876">two.sided</span></p></td><td class="cl-27927f67"><p class="cl-27925860"><span class="cl-278ab876">mpg</span></p></td><td class="cl-27927f67"><p class="cl-27925860"><span class="cl-278ab876">am</span></p></td><td class="cl-27927f67"><p class="cl-27925860"><span class="cl-278ab876">17.15</span></p></td><td class="cl-27927f67"><p class="cl-27925860"><span class="cl-278ab876">24.39</span></p></td><td class="cl-27927f67"><p class="cl-27925860"><span class="cl-278ab876">-7.24</span></p></td><td class="cl-27927f67"><p class="cl-27925860"><span class="cl-278ab876">-3.77</span></p></td><td class="cl-27927f67"><p class="cl-27925860"><span class="cl-278ab876">[-11.28, -3.21]</span></p></td><td class="cl-27927f67"><p class="cl-27925860"><span class="cl-278ab876">18.33</span></p></td><td class="cl-27927f67"><p class="cl-27925860"><span class="cl-278ab876">.001</span></p></td><td class="cl-27927f67"><p class="cl-27925860"><span class="cl-278ab876">-1.76</span></p></td><td class="cl-27927f67"><p class="cl-27925860"><span class="cl-278ab876">[-2.82, -0.67]</span></p></td></tr></tbody></table></div>
The report
package provides quite comprehensive tables, so one may request an abbreviated table with the short
argument.
nice_table(stats.table, report = "t.test", short = TRUE)
<div class="tabwid"><style>.cl-27e15a6e{table-layout:auto;}.cl-27ce06f8{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-27ce06f9{font-family:'Times New Roman';font-size:12pt;font-weight:normal;font-style:italic;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-27d5a6ec{margin:0;text-align:center;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 2;background-color:transparent;}.cl-27d5cde8{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0.5pt solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-27d5cde9{background-color:transparent;vertical-align: middle;border-bottom: 0.5pt solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}</style><table class='cl-27e15a6e'><thead><tr style="overflow-wrap:break-word;"><td class="cl-27d5cde8"><p class="cl-27d5a6ec"><span class="cl-27ce06f8">Parameter</span></p></td><td class="cl-27d5cde8"><p class="cl-27d5a6ec"><span class="cl-27ce06f8">Group</span></p></td><td class="cl-27d5cde8"><p class="cl-27d5a6ec"><span class="cl-27ce06f9">t</span></p></td><td class="cl-27d5cde8"><p class="cl-27d5a6ec"><span class="cl-27ce06f9">df</span></p></td><td class="cl-27d5cde8"><p class="cl-27d5a6ec"><span class="cl-27ce06f9">p</span></p></td><td class="cl-27d5cde8"><p class="cl-27d5a6ec"><span class="cl-27ce06f9">d</span></p></td><td class="cl-27d5cde8"><p class="cl-27d5a6ec"><span class="cl-27ce06f8">95% CI (</span><span class="cl-27ce06f9">d</span><span class="cl-27ce06f8">)</span></p></td></tr></thead><tbody><tr style="overflow-wrap:break-word;"><td class="cl-27d5cde9"><p class="cl-27d5a6ec"><span class="cl-27ce06f8">mpg</span></p></td><td class="cl-27d5cde9"><p class="cl-27d5a6ec"><span class="cl-27ce06f8">am</span></p></td><td class="cl-27d5cde9"><p class="cl-27d5a6ec"><span class="cl-27ce06f8">-3.77</span></p></td><td class="cl-27d5cde9"><p class="cl-27d5a6ec"><span class="cl-27ce06f8">18.33</span></p></td><td class="cl-27d5cde9"><p class="cl-27d5a6ec"><span class="cl-27ce06f8">.001</span></p></td><td class="cl-27d5cde9"><p class="cl-27d5a6ec"><span class="cl-27ce06f8">-1.76</span></p></td><td class="cl-27d5cde9"><p class="cl-27d5a6ec"><span class="cl-27ce06f8">[-2.82, -0.67]</span></p></td></tr></tbody></table></div>
And there you go!
Make sure to check out this page again if you use the code after a time or if you encounter errors, as I periodically update or improve the code. Feel free to contact me for comments, questions, or requests to improve this function at https://github.com/rempsyc/rempsyc/issues. See all tutorials here: https://remi-theriault.com/tutorials.