t-тест в кадре данных в R с помощью mutate - PullRequest
0 голосов
/ 27 февраля 2020

Я изо всех сил пытаюсь вычислить t-критерий между двумя группами в фрейме данных в R. Пример кода ниже создает фрейм данных с 2 столбцами: Variable и Value. Есть 2 переменные: «M» и «F».

data <- data.frame(variable = c("M", "F", "F"), value = c(10,5,6))

Мне нужно показать, что значения для M и F статистически отличаются друг от друга. Другими словами, 10 статистически отличается от среднего значения 5 и 6. Мне нужно добавить еще один столбец в этом фрейме данных, который показывает значение p. Когда я запускаю приведенный ниже код, он выдает следующую ошибку:

result <- data %>% mutate(newcolumn = t.test(value~variable))

Ошибка в t.test.default (x = c (5, 6), y = 10): недостаточно 'y 'наблюдения

1 Ответ

1 голос
/ 27 февраля 2020

Я не понимаю вопроса.

Сам тест можно запустить как t-тест для одного среднего значения. Это будет

t.test(x = c(5, 6) - 10)

Если вы хотите протестировать запуск пакета dplyr pipe:

library(dplyr)

fun_t_test <- function(x){
  tryCatch(t.test(x)$p.value, error = function(e) NA)
}

data %>%
  mutate(newvalue = value - mean(value[variable == "M"])) %>%
  group_by(variable) %>%
  summarise(p.value = fun_t_test(newvalue))
## A tibble: 2 x 2
#  variable p.value
#  <fct>      <dbl>
#1 F         0.0704
#2 M        NA    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...