Версия генератора случайных чисел R влияет на правильность edx Статистика и ответы R курса - PullRequest
1 голос
/ 19 апреля 2020

Прошу прощения за вопрос здесь, но на сайте нет страницы для обсуждения этого курса, и в нем упоминается stackoverflow, чтобы задать любые вопросы. Это из этого курса edx .

Q1: Использование следующего набора данных:

'''
url <- "https://raw.githubusercontent.com/genomicsclass/dagdata/master/inst/extdata/babies.txt"
filename <- basename(url)
download(url, destfile=filename)
babies <- read.table("babies.txt", header=TRUE)
'''

, разбитого на две группы (для некурящих и курящих):

bwt.nonsmoke <- filter(babies, smoke==0) %>% select(bwt) %>% unlist 
bwt.smoke <- filter(babies, smoke==1) %>% select(bwt) %>% unlist

Установите семена на 1 и получите образцы от некурящих матерей (дат. Нс) размером N = 25. Затем, не сбрасывая семена, возьмите образец того же размера от курящих матерей (дат.с). Вычислите t-statisti c (назовите его tval).

Каково абсолютное значение t-statisti c?

Вот как я это сделал:

set.seed(1)
dat.ns <- sample(bwt.nonsmoke,25)
dat.s <- sample(bwt.smoke,25)
tval <- t.test(dat.ns,dat.s)$statistic
tval

Это дает значение 2.120904, которое, по-видимому, неверно. Я также попытался установить начальное значение 1 перед каждым образцом следующим образом:

set.seed(1)
dat.ns <- sample(bwt.nonsmoke,25)
set.seed(1)
dat.s <- sample(bwt.smoke,25)
tval <- t.test(dat.ns,dat.s)$statistic
tval

, что дает значение t 1,573627, что также неверно. Я не уверен, что делаю неправильно, и мне нужна помощь.

1 Ответ

4 голосов
/ 19 апреля 2020

Генератор случайных чисел в R значительно изменился в R версии 3.6.0, как было отмечено в статье R Bloggers, Что нового в R 3.6.0?

Если вы используя версию R до 3.6.0, вы получите следующую статистику t-теста c на основе вашего кода:

> RNGversion("3.5.3")
Warning message:
In RNGkind("Mersenne-Twister", "Inversion", "Rounding") :
  non-uniform 'Rounding' sampler used
> set.seed(1)
> dat.ns <- sample(bwt.nonsmoke,25)
> dat.s <- sample(bwt.smoke,25)
> t.test(dat.ns,dat.s)

    Welch Two Sample t-test

data:  dat.ns and dat.s
t = 2.1209, df = 47.693, p-value = 0.03916
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
  0.5141953 19.3258047
sample estimates:
mean of x mean of y 
   124.68    114.76 

Если вы используете R 3.6.0 или новее, вы получите следующий ответ с тем же кодом.

> # redo with RNVversion(3.6.3)
> RNGversion("3.6.3")
> set.seed(1)
> dat.ns <- sample(bwt.nonsmoke,25)
> dat.s <- sample(bwt.smoke,25)
> t.test(dat.ns,dat.s)

    Welch Two Sample t-test

data:  dat.ns and dat.s
t = 1.6593, df = 47.58, p-value = 0.1036
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.79772 18.75772
sample estimates:
mean of x mean of y 
   125.12    116.64 

Итог: проверьте версию R, которая использовалась для создания ответов на викторину, чтобы подтвердить версию генератора случайных чисел.

...