【问题标题】:Creating function with output table from t-test in R使用 R 中 t-test 的输出表创建函数
【发布时间】:2019-09-10 11:29:25
【问题描述】:

我想为 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)
}

其中一个错误是:

data$col 中的错误:“闭包”类型的对象不是子集。

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

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

【问题讨论】:

  • 您只需将参数命名为 col 而不是 data$coltidyt.test 输出什么结构?它们是可子集的吗?

标签: r function statistics tidyverse t-test


【解决方案1】:

您的函数的输入参数应该 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-14
    • 2021-04-28
    • 2020-04-24
    • 1970-01-01
    • 2017-10-11
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多