var point = new Array();
var pointx = new Array();
var code = new Array();
var v = new Array();
var rank = new Array();
var gini = new Array();
function sample() {
for(s=1;s<2000;s++){
point[s]=new Array();
}
var query = "SELECT * FROM " +
'1SqYYlMmeIKl1HUM9h3x-wonBkyZUmxwwY7tWPoRG';
var encodedQuery = encodeURIComponent(query);
var url = ['https://www.googleapis.com/fusiontables/v1/query'];
url.push('?sql=' + encodedQuery);
url.push('&key=AIzaSyAH0WCAXRIdHdbI-6bnMSN4kVDDZZmGyqY');
url.push('&callback=?');
$.ajax({
url: url.join(''),
dataType: 'jsonp',
success: function (data) {
var rows = data['rows'];
sx = 0;
for (var i in rows) {
sx = sx + 1;
for(tx=1;tx<43;tx++){
point[sx][tx]=rows[i][1+tx]/1;
if(isNaN(point[sx][tx]))point[sx][tx]=0;
}
code[sx]= rows[i][1];
}
number = sx;
for(s=1;s<number+1;s++){
if(code[s].length==5)code[s]="0"+code[s];
}
for(s=1;s<number+1;s++){
code[s]=code[s].substring(0,5);
}
for(tr=1;tr<43;tr++){
ranking(tr);
v1=0;
for(s=1;s<number+1;s++){
if(point[s][tr]>0)v1=v1+point[s][tr];
}
beta=v1/number;
var y=new Array();
var x=new Array();
for(s=1;s<number+1;s++){
y[s]=beta*s;
}
sx=rank[number];
x[1]=point[sx][tr];
for(s=2;s<number+1;s++){
sx=rank[number+1-s];
x[s]=x[s-1]+point[sx][tr];
}
z1=0;
for(s=1;s<number+1;s++){
z1=z1+x[s];
}
z2=0;
for(s=1;s<number+1;s++){
z2=z2+y[s];
}
z=(z2-z1)/z2;
gini[tr]=z;
}
alert(gini[10]);
}
});
}
function ranking(tr){
var r,s,sx,h;
var ch=new Array();
for(s=1;s<number+1;s++){
ch[s]=0;
}
for (r = 1; r < number+1; r++) {
sx = 0;
maxu = -9999;
for (s = 1; s <number+1; s++) {
h = 0;
if (point[s][tr] > maxu) h = h + 1;
if (ch[s] < 50) h = h + 1;
if (h == 2) maxu = point[s][tr];
if (h == 2) sx = s;
}
rank[r] = sx;
ch[sx] = 100;
}
}
最終更新:2017年03月23日 03:26