//How to split a data set in N parts? Assume N (in the code we call it ratio)=size of data set (S, in the code called size of data) diveded with max number of items in each subset (M, in the code called max) how to split the data set?
def max = 40
def data = [40,20,30,40,50,60,70,80,20,21,55,64,12,28,88,10,40,20,99,22,43,32,31,55,64,12,28,88,10,40,20,30,40,50,60,70,80,30,40,50,60,70,80,20,21,55,64,12,28,88,10,40,20,99,22,43,32,31,55,64,30,40,50,60,70,80,20,21,55,64,12,28,88,10,40,20,99,22,43,32,31,55,64,55,64,12,28,88,10,40,40,20,30,40,50,60,70,80,20,21,55,64,12,28,88,10,40,20,99,22,43,32,31,55,64,12,28,88,10,40,20,30,40,50,60,70,80,55,64,12,28,88,10,40,40,20,30,40,50,60,70,80,20,21,55,64,12,28,88,10,40,20,99,22,43,32,31,55,64,12,28,88,10,40,20,30,40,50,60,70,80,55,64,12,28,88,10,40,40,20,30,40,50,60,70,80,20,21,55,64,12,28,88,10,40,20,99,22,43,32,31,55,64,12,28,88,30,40,50,60,70,80,55,64,12,28,88,10,40,20,20,21,99,22,43,32,31,55,64,12,28,88,10,20,30,40,50,60,70,80,20,21,99,22,43,32,31,55,64,12,28,88,11,20,30,40,50,60,70,80,20,21,99,22,43,32,31,55,64,12,28,88,20,30,40,50,60,70,80,78] as ArrayList
Double ratio =data.size()/max
Double parts = Math.ceil(ratio)
int upperBound = max;
int lowerBound = 0;
for (Integer j = new Integer(1); j<=parts;j++)
{
if (lowerBound < data.size() && upperBound <=data.size())
{
println "printing elements: "+lowerBound+"-"+upperBound
def k = data.subList(lowerBound,upperBound)
println "Size of elements: "+ k.size()
lowerBound = upperBound;
upperBound = (int) (max * (j+1)<=data.size() ? max*(j+1):data.size());
}
}
måndag 9 februari 2015
Split Data in N parts
Prenumerera på:
Kommentarer till inlägget (Atom)
Inga kommentarer:
Skicka en kommentar