별도의 txt 파일에서 데이터를 조회 한 다음 평균과 표준 편차를 제공하는 프로그램을 작성했습니다. 내 평균을 찾았지만 표준 편차에 대한 오류가 발생합니다. 아무도 내 코드를 수정하는 데 도움이 될지 궁금합니다. 이것은이다 :Ruby에서 표준 편차를 찾으려면 어떻게합니까?
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
오류가 발생합니다 어디 라인 27 : 편차 = 분산 + (X-평균) ** 2
avg_temp.rb:27:in `-': can't convert Float into Array (TypeError)
from avg_temp.rb:27:in `block in <main>'
from avg_temp.rb:26:in `each'
from avg_temp.rb:26:in `<main>'
분산 = 분산/내용이 문제와 유사합니다. 아마도 내용을 의미했을거야. 길이 야? –
27 번째 줄에 오류가 있습니다 : variance = variance + (x-avg) ** 2 avg_temp.rb : 27 :'- ': float을 Array (TypeError)\t avg_temp에서 변환 할 수 없습니다. RB : 27 : 블록'에서에서 'avg_temp.rb에서 \t : 26 : 각각'에서 'avg_temp.rb에서 \t : 26 :에서는'' –
user2759592
위의 코멘트뿐만 아니라 답변에 질문에 적용 . 당신은 대답에서 그것을 제거해야합니다. –