Method: Rust::ANOVAModel.generate

Defined in:
lib/rust/models/anova.rb

.generate(formula, data, **options) ⇒ Object

Generates a new ANOVA model with a given formula, data. options can be specified and directly passed to the aov function in R.



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/rust/models/anova.rb', line 27

def self.generate(formula, data, **options)
    mapped = ""
    if options.size > 0
        mapped = options.map { |k, v| "#{k}=#{v}" }.join(", ")
        mapped = ", " + mapped
    end
    
    Rust.exclusive do
        Rust["aov.data"] = data
        Rust._eval("aov.model.result <- aov(#{formula.to_R}, data=aov.data#{mapped})")
        result = ANOVAModel.new(Rust["aov.model.result"])
        result.r_mirror_to("aov.model.result")
        return result
    end
end