使用来自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的输出表创建函数的主要内容,如果未能解决你的问题,请参考以下文章