Почему варианты этого t.test требуют различного кодирования? (Р)
Новичок в R и пытаюсь разобраться с его кодированием (новичок в кодировании в целом)
Мой вопрос заключается в том, что при выполнении t-тестов (парных и независимых) мне нужно изменить формулу, чтобы он распознавал мои столбцы. Следующие обе работы; однако "парный" код не будет работать, если стилизован как "независимый" код (с data = '').
Independent: t.test(Nicotine ~ Brand, data = nicotine, alternative='two.sided', conf.level=.95, var.equal=FALSE)
Соединенный: with(omega3, t.test(Before, After, paired = TRUE, alternative='greater', conf.level=.95))
Почему это происходит? в идеале я бы предпочел не использовать with
формула, но я не могу понять, почему он не распознает "До" и "После", когда я добавляю аргумент data = omega3
Любое понимание очень ценится.
Thom
1 ответ
Это связано с тем, как данные используются функцией. Когда вы используете формулу, вы говорите R: "Используйте эту переменную в качестве моего предиктора (независимая переменная), а эту другую в качестве моего результата (зависимая переменная)". В случае независимого выборочного t-теста у вас будет:
continuous.variable ~ dichotomous.variable
(outcome/dependent) (predictor/independent)
С парными выборками у вас нет такой вещи, как "предиктор" (или, более широко говоря, "объяснительная переменная"). У вас просто есть два столбца, которые вы хотите сравнить друг с другом.
Таким образом, вы можете видеть формулу обозначений как приятную особенность R, но вы не можете использовать ее в любой ситуации.
Кроме того, есть альтернативы использованию with
функция:
t.test(Before, After, paired = TRUE, alternative='greater', conf.level=.95, data=omega3)
# or
t.test(omega3$Before, omega3$After, paired = TRUE, alternative='greater', conf.level=.95)