Создание функции с выходной таблицей из t-теста в R - PullRequest
0 голосов
/ 20 апреля 2019

Я хотел бы написать функцию для аккуратной выходной таблицы из 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: объект типа 'замыкание' не может быть подмножеством.

Я предполагаю, что данные и столбцы не являются общими именами для любого фрейма данных и столбца.

По сути, я хотел бы иметь возможность указывать любой кадр данных и столбец для каждой переменной. Я даже не уверен, возможно ли это, так как это очень общая функция, которую я пытаюсь создать, но любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 20 апреля 2019

входные аргументы для вашей функции должны 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
...