WedX - журнал о программировании и компьютерных науках

расширение существующих функций (критерий Стьюдента)

Я пытаюсь получить t-тест Стьюдента, но не только используя функцию t.test, но и расширяя ее.

уже,

x<- c(16.6,13.4,14.6,15.1,12.9,15.2,14.0,16.6,15.4,13.0)
y<- c(15.8,17.9,18.2,20.2,18.1,17.8,18.3,18.6,17.0,18.4)

ttest <- function(x,y) {
  n1<- length(y)       #y length
  n2<- length(x)       #x length
  somay <- sum(y)
  somax <- sum(x)
  y1 <- (somay)/n1       #y mean
  y2<- (somax)/n2        #x mean
  dadosy <- na.omit(y)
  dadosx <- na.omit(x)
  disvquad1 <- (dadosy-y1)^2
  disvquad2 <- (dadosx-y2)^2
  s12<- (1/(n1-1))*sum(disvquad1)    #variance of y
  s22<- (1/(n2-1))*sum(disvquad2)    #variance of x
  s2 <- ((n1-1)*s12+(n2-1)*s22)/((n1-1)+(n2-1))
  s<- (s2)^(1/2)
  t<- (y1-y2)/((1/n1)+(1/n2))^(1/s)     #test statistic 
  return(t)
}
> ttest(x,y)
[1] 12.22666

однако, когда я запускаю функцию t.test с этими аргументами, я получаю другое значение:

> t.test(x,y)

    Welch Two Sample t-test

data:  x and y
t = -6.0257, df = 17.425, p-value = 1.227e-05
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -4.520774 -2.179226
sample estimates:
mean of x mean of y 
    14.68     18.03 

t= -6,0257 != t= 12,22666

есть идеи, почему я получаю разные значения? Спасибо за вашу помощь.

23.03.2015

  • Вы пробовали все варианты, которые есть у t.test, такие как var.equal = FALSE и alternative = "two.sided"? Вы должны выяснить, какой набор опций соответствует тому, что вы пытаетесь реализовать в своем собственном коде, прежде чем обращать внимание на различия в выводе. 23.03.2015

Ответы:


1

Ваша формула для тестовой статистики неверна. Так должно быть

ttest <- function(x,y) {
n1<- length(y)       #y length
n2<- length(x)       #x length
somay <- sum(y)
somax <- sum(x)
y1 <- (somay)/n1       #y mean
y2<- (somax)/n2        #x mean
dadosy <- na.omit(y)
dadosx <- na.omit(x)
disvquad1 <- (dadosy-y1)^2
disvquad2 <- (dadosx-y2)^2
s12<- (1/(n1-1))*sum(disvquad1)    #variance of y
s22<- (1/(n2-1))*sum(disvquad2)    #variance of x
s2 <- ((n1-1)*s12+(n2-1)*s22)/((n1-1)+(n2-1))
s<- (s2)^(1/2)
t<- (y1-y2)/(sqrt(1/n1+1/n2)*s)     #test statistic 
return(t)
}

> ttest(x,y)
[1] 6.025747

> t.test(y,x)

Welch Two Sample t-test

data:  y and x
t = 6.0257, df = 17.425, p-value = 1.227e-05
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
2.179226 4.520774
sample estimates:
mean of x mean of y 
18.03     14.68 
23.03.2015
Новые материалы

Как создать диаграмму градиентной кисти с помощью D3.js
Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


Для любых предложений по сайту: [email protected]