title: How do I find the standard deviation in Ruby?
body: <p>I wrote a program which looks up data in a separate txt file and then gives the average and the standard deviation. It finds my average but I get an error for Standard deviation. Was wondering anyone could help me fix my code. This is it:</p>
  
  <pre><code>data = File.open("avg_temp.txt", "r+")
  
  contents = data.read
  
  contents = contents.split("\r\n")
  #split up array
  contents.collect! do |x|
      x.split(',') 
  end
  
  
  sum = 0
  
  contents.each do |x|
  #make loop to find average
          sum = sum  + x[1].to_f
  end
  avg = sum / contents.length
  puts "The average temperature of Laguardia Airport from 11/97 - 05/11 is:
  #{ avg.round(3)}C (Answer is rounded to nearest thousandth place)"
  #puts average
  
  
  variance = 0
  contents.each do |x|
          variance = variance + (x-avg)**2
  end
  
  variance = variance / contents
  variance = Math.sqrt(variance)
  puts variance
  </code></pre>
  
  <p>I get an error where it at line 27: variance = variance + (x-avg)**2</p>
  
  <pre><code>avg_temp.rb:27:in `-': can't convert Float into Array (TypeError)
      from avg_temp.rb:27:in `block in &lt;main&gt;'
      from avg_temp.rb:26:in `each'
      from avg_temp.rb:26:in `&lt;main&gt;'
  </code></pre>