Module: Rust::StatisticalTests::Shapiro

Defined in:
lib/rust-tests.rb

Class Method Summary collapse

Class Method Details

.compute(vector, alpha = 0.05) ⇒ Object

Raises:

  • (TypeError)


128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/rust-tests.rb', line 128

def compute(vector, alpha = 0.05)
    raise TypeError, "Expecting Array of numerics" if !vector.is_a?(Array) || !vector.all? { |e| e.is_a?(Numeric) }
    Rust.exclusive do
        Rust['shapiro.v'] = vector
        
        Rust._eval("shapiro.result = shapiro.test(shapiro.v)")
        result = Rust::StatisticalTests::Result.new
        result.name     = "Shapiro-Wilk normality test"
        result.pvalue   = Rust._pull("shapiro.result$p.value")
        result[:W]      = Rust._pull("shapiro.result$statistic")
        result.exact    = true
        result.alpha    = alpha
        
        return result
    end
end