У меня есть строка кода, которая работает независимо, но я пытаюсь превратить ее в функцию, которая не работает. Набор данных:
cooper <- data.frame(preDist=c(2454, 2666, 2153, 2144, 2957, 2407, 2167, 2259,
1993, 2351, 1642, 2121, 2603, 2669, 2064),
postDist=c(2763, 2710, 2272, 2342, 3256, 2617, 2515, 2469,
2257, 2637, 1597, 2331, 2616, 2679, 2114),
group=factor(c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3),
labels=c("Group1", "Group2", "Cont")))
Рабочий код:
t.test(cooper$postDist[cooper$group == "Group1"],
cooper$preDist[cooper$group == "Group1"],
alternative = "greater",
paired = TRUE)$p.value
Это возвращает правильное значение для моей выбранной группы (Group1)
Нерабочая функция:
pairtest <- function(grp) {
pvalue <- t.test(cooper$postDist[cooper$group == "grp"],
cooper$preDist[cooper$group == "grp"],
alternative = "greater", paired = TRUE)$p.value
return(pvalue)
}
pairtest(Group1)
Сообщает «недостаточно x наблюдений».