Парный выборочный t-тест в R: вопрос направления - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть вопрос о знаке t в t-тесте парной выборки с использованием разных структур данных, но одинаковых данных.Я знаю, что знак не имеет значения с точки зрения значимости, но, как правило, он сообщает пользователю, было ли уменьшение во времени или увеличение во времени.Итак, я должен убедиться, что код, который я предоставляю, дает одинаковые результаты ИЛИ, объяснен правильно.

Я должен объяснить результаты (и код) в качестве примера, который мы даем пользователям нашего программного обеспечения,который использует R (Rdotnet в программе C #) для статистики.Мне неясно, каков правильный порядок переменных в обоих методах в R.

Метод 1 использует две матрицы

## Sets seed for repetitive number generation
set.seed(2820)

## Creates the matrices
preTest <- c(rnorm(100, mean = 145, sd = 9))
postTest <- c(rnorm(100, mean = 138, sd = 8))

## Runs paired-sample T-Test just on two original matrices
t.test(preTest,postTest, paired = TRUE)

Результаты показывают значимость и сположительный t, говорит мне, что произошло уменьшение средней разницы от preTest до PostTest.

    Paired t-test

data:  preTest and postTest
t = 7.1776, df = 99, p-value = 1.322e-10
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
  6.340533 11.185513
sample estimates:
mean of the differences 
               8.763023

Однако большинство людей собираются получать свои данные не из двух матриц,но из файла со значениями ДО и ПОСЛЕ.Я буду хранить эти данные в CSV и импортировать их во время демонстрации.Итак, чтобы имитировать это, мне нужно создать фрейм данных в структуре, которую привыкли видеть пользователи нашего программного обеспечения.'pstt' должен выглядеть так, как если бы я импортировал CSV-файл, который у меня есть.

Метод 2: использует структуру плоского файла

## Converts the matrices into a dataframe that looks like the way these 
data are normally stored in a csv or Excel

ID <- c(1:100)
pstt <- data.frame(ID,preTest,postTest)

## Puts the data in a form that can be used by R (grouping var | data var)
pstt2 <- data.frame(
                group = rep(c("preTest","postTest"),each = 100),
                weight = c(preTest, postTest)
                )

## Runs paired-sample T-Test on the newly structured data frame
t.test(weight ~ group, data = pstt2, paired = TRUE)

Результаты для этогоt-критерий имеет отрицательный t-критерий, который может указывать пользователю на то, что исследуемая переменная со временем увеличивается.

    Paired t-test

data:  weight by group 
t = -7.1776, df = 99, p-value = 1.322e-10
alternative hypothesis: true difference in means is not equal to 0 
95 percent confidence interval:
 -11.185513  -6.340533 
sample estimates:
mean of the differences 
              -8.763023

Есть ли способ явно определить, какая группа являетсяДО и что ПОСЛЕ?Или вы должны сначала указать группу AFTER в методе 2.

Спасибо за любую помощь / объяснение.

Вот полная программа R, которую я использовал:

## sets working dir
#  setwd("C:\\Temp\\")

## runs file from command line
#  source("paired_ttest.r",echo=TRUE)

## Sets seed for repetitive number generation
set.seed(2820)

## Creates the matrices
preTest <- c(rnorm(100, mean = 145, sd = 9))
postTest <- c(rnorm(100, mean = 138, sd = 8))
ID <- c(1:100)

## Converts the matrices into a dataframe that looks like the way these 
   data are normally stored
pstt <- data.frame(ID,preTest,postTest)

## Puts the data in a form that can be used by R (grouping var | data var)
pstt2 <- data.frame(
                group = rep(c("preTest","postTest"),each = 100),
                weight = c(preTest, postTest)
                )

print(pstt2)                

## Runs paired-sample T-Test just on two original matrices
#  t.test(preTest,postTest, paired = TRUE)

## Runs paired-sample T-Test on the newly structured data frame
t.test(weight ~ group, data = pstt2, paired = TRUE)

1 Ответ

0 голосов
/ 04 декабря 2018

Поскольку group является фактором, t.test будет использовать первый уровень этого фактора в качестве контрольного уровня.По умолчанию уровни факторов отсортированы в алфавитном порядке, поэтому «AFTER» будет предшествовать «BEFORE», а «postTest» будет предшествовать «preTest».Вы можете явно установить опорный уровень фактора с помощью relevel().

t.test(weight ~ relevel(group, "preTest"), data = pstt2, paired = TRUE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...