私の問題は、csv ファイルから double を読み取ることができず、整数のみを読み取ることができないことです。そのため、成長配列を使用して計算しようとすると、「-infinity」および「NaN」というエラーが発生します。
require 'csv'
filename = 'file.csv'
csv_data = CSV.read(filename, :col_sep => ";")
csv_data.shift
price1, price2 = csv_data.transpose.map { |a| a.map(&:to_i)}
#calulate yields
yields1 = Array.new
yields2 = Array.new
price1.each_cons(2) { |c|
yields1.push(Math.log(c[1]/c[0]))
}
price2.each_cons(2) { |c|
yields2.push(Math.log(c[1]/c[0]))
}
# Statistics
module Enumerable
def mean
mean = self.reduce(:+)/self.length.to_f
return mean
end
end
puts "mean yields1 = " + yields1.mean.to_s
私の2つの質問:
- CSV ファイルから Doubles を読み取るにはどうすればよいですか?
- エラーの間違いはどこですか?