Project1
标题:
完整简单统计数据分析啦~~~
[打印本页]
作者:
end55rpg
时间:
2012-5-26 01:36
标题:
完整简单统计数据分析啦~~~
本帖最后由 end55rpg 于 2012-5-26 01:49 编辑
统计分析又回来来了,,,
看见了吗,那个帖子作废了:这次:
1。修复众数BUG2
(不止1个了,次数不满不算了)
2。添加返回
极差,方差
3。传入数据可以运算了!
(比如 + - *)= =!
代码如下:
def tongji(a)
eval "a = %w(#{a})"
a.each_with_index{|num,index|
if num.index('*')
a[index]
a[index]=Array.new(a[index].split('*')[1].to_i,a[index].split('*')[0].to_f.to_s)
end
a[index] = (eval(num).to_s rescue a[index]) if !num.index("*")
};a.flatten!
sum=0
hash = {}
a.each{|n|hash[n] = hash[n].to_i+1}
a.each{|n|sum+=n.to_f}
win,mode = [],[]
max = hash.values.max
cha = (max - hash.values.min).abs
hash.each{|h1,h2|mode << h1 if h2 == max and max != 1}
a.each{|n|n}
array = a.sort!{|aa,bb|aa.to_f<=>bb.to_f}
id = (-1)**array.size == -1 ? array.size/2 : (array.size+1)/2
if (-1)**array.size == -1
median = (array[id].to_f + array[id+1].to_f) / 2
else
median = array[id].to_f
end
pinjun = (sum / a.size);cha2 = 0
a.collect!{|i|(i.to_f - pinjun)**2}.each{|i|cha2 = cha2.to_f+i}
return mode,pinjun,median,cha,cha2 / pinjun
end
p("Mode","平均数","中位数","极差","方差")
复制代码
返回数据顺序 ---- 众数","平均数","中位数","极差","方差"
又是例子:
比如传入:
复制代码
p("Mode","平均数","中位数","极差","方差")
p tongji("
1*2
3-1
1+1
2*1
")
猜一猜,众数是多少?
作者:
Luciffer
时间:
2012-5-26 01:59
泥煤。。。老子脚本还没入门呢。。。
作者:
orzfly
时间:
2012-5-26 06:56
乱的了……困……不看了……
楼主以后早点睡觉……
作者:
小餐馆
时间:
2012-5-26 13:18
无聊的说
作者:
c248611
时间:
2012-6-22 10:30
请问这是什么脚本啊??
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1