Моя первоначальная цель состояла в том, чтобы провести тестирование и получить значение. Я использовал OneSampleTTest , который выглядел многообещающе, но результаты оказались в stdout так:
julia> OneSampleTTest([1,2,3,4,5],3.1)
One sample t-test
-----------------
Population details:
parameter of interest: Mean
value under h_0: 3.1
point estimate: 3.0
95% confidence interval: (1.0368, 4.9632)
Test summary:
outcome with 95% confidence: fail to reject h_0
two-sided p-value: 0.8944
Details:
number of observations: 5
t-statistic: -0.14142135623730961
degrees of freedom: 4
empirical standard error: 0.7071067811865476
Я хотел заполучить это значение:
two-sided p-value: 0.8944
Чтобы перенаправить стандартный вывод, я нашел this на нашем сайте здесь. Но, похоже, это не влияет на вывод OneSampleTTest.
julia> using HypothesisTests
julia> original_stdout = stdout
Base.TTY(RawFD(0x0000001b) open, 0 bytes waiting)
julia> (rd, wr) = redirect_stdout()
(Base.PipeEndpoint(RawFD(0x00000020) open, 0 bytes waiting), Base.PipeEndpoint(RawFD(0x00000025) open, 0 bytes waiting))
julia> println("test")
julia> s = readline(rd)
"test"
julia> s == "test"
true
julia> OneSampleTTest([1,2,3,4,5],3.1)
One sample t-test
-----------------
Population details:
parameter of interest: Mean
value under h_0: 3.1
point estimate: 3.0
95% confidence interval: (1.0368, 4.9632)
Test summary:
outcome with 95% confidence: fail to reject h_0
two-sided p-value: 0.8944
Details:
number of observations: 5
t-statistic: -0.14142135623730961
degrees of freedom: 4
empirical standard error: 0.7071067811865476
julia>
И если бы он сделал еще один s = readline(rd)
, он застрял бы, потому что в rd ничего нет. (Я предполагаю)
Моя единственная другая идея, чтобы решить эту проблему, состояла в том, чтобы попытаться записать результаты теста в файл и снова проанализировать этот файл. Но я хочу сделать миллионы t-тестов и использовать файл для хранения результатов и перечитывания их каждый раз, как ужасное усилие по производительности.