使用来自R中的t-test的输出表创建函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用来自R中的t-test的输出表创建函数相关的知识,希望对你有一定的参考价值。

我想从t测试中编写一个整洁输出表的函数,因为我正在进行大量的事后t检验,但是编写函数不是我的强项,所以我想要一些帮助。我目前的代码看起来像这样


library(tidyverse)
library(lsr)
library(broom)

t_table <- function(data$col, data$col) {

  t.test(data$col, data$col) %>%
    broom::tidy() %>%
    mutate(Cohens_d = cohensD(data$col, data$col)) %>% # calc. cohen's d
    mutate_at(vars(- c(p.value,method,alternative)), round, 2)
}

其中一个错误是:

数据错误$ col:'closure'类型的对象不是子集表。

我假设数据和col不是任何数据框和列的通用名称。

基本上我希望能够为每个变量指定任何数据框和列。我甚至不确定这是否可行,因为它是我正在尝试创建的一个非常通用的功能,但任何帮助都将非常感激。

答案

你的函数的输入参数应该a)不具有相同的名称,b)不应该包含$。除此之外你的功能正常:

t_table <- function(col1, col2) {

  t.test(col1, col2) %>%
    broom::tidy() %>%
    mutate(Cohens_d = cohensD(col1, col2)) %>% # calc. cohen's d
    mutate_at(vars(- c(p.value,method,alternative)), round, 2)
}

set.seed(1)
t_table(rnorm(100), rnorm(100)+1/2)
  estimate estimate1 estimate2 statistic     p.value parameter conf.low conf.high                  method alternative Cohens_d
1    -0.35      0.11      0.46     -2.69 0.007745151    197.19    -0.61     -0.09 Welch Two Sample t-test   two.sided     0.38

以上是关于使用来自R中的t-test的输出表创建函数的主要内容,如果未能解决你的问题,请参考以下文章

用于成对表输出的紧凑型字母显示的自定义代码

优化 R 中输出表生成的代码

如何将 r ggplot 图存储为 html 代码片段

R配对样本t检验(PAIRED T-TEST​​​​​​​)

R单样本t检验(ONE-SAMPLE T-TEST)

来自 R DBI 的 Redshift 中的用户定义函数