require 'daru' require 'rbplotly' require 'daru/plotly' require 'statsample' wine = Daru::DataFrame.from_csv('./winequality-both.csv') wine.head 10 # 最初の10行を表示 wine['type'].uniq.to_a reds = wine.where(wine['type'].eq('red')) reds.head 10 whites = wine.where(wine['type'].eq 'white') whites.head 10 include Daru::Plotly::Methods # plot, generate_data red_qualities = generate_data(reds['quality'], type: :histogram, opts: { name: 'red', marker: { color: '#80273F' } }) white_qualities = generate_data(whites['quality'], type: :histogram, opts: { name: 'white', marker: { color: 'white' }}) Plotly::Plot.new( data: red_qualities + white_qualities, layout: { paper_bgcolor: 'silver', plot_bgcolor: 'silver', font: { color: 'white' } } ).show reds['quality'].mean # 平均値 whites['quality'].mean Statsample::Analysis.store(Statsample::Test::T) do t = Statsample::Test.t_two_samples_independent(reds['quality'], whites['quality']) summary t end Statsample::Analysis.run_batch wine.corr plot(wine.corr, type: :heatmap).show