java - standard deviation arraylist error -
i getting error when try retrieve individual values find variance in process of calculating standard deviation. can't figure out whether use .get() or .getvalue , lost. have calculated average.
final arraylist<map.entry<string,numberholder>> entries = new arraylist<map.entry<string,numberholder>>(uacount.entryset()); for(map.entry<string,numberholder> entry : entries) //iterating on sorted hashmap { double temp = 0; double variance = 0; (int = 0; <= entry.getvalue().occurrences ; ++) { temp += ((entry.getvalue(i).singlevalues) - average)*((entry.getvalue(i).singlevalues) - average); variance = temp/entry.getvalue().occurrences; } double stddev = math.sqrt(variance); this numberholder class, populate in main funcion. using equation standard deviation: http://www.mathsisfun.com/data/standard-deviation-formulas.html
based on code, occurrences n , values singlevalues arraylist xi
public static class numberholder { public int occurrences = 0; public int sumtime_in_milliseconds = 0; public arraylist<long> singlevalues = new arraylist<long>(); } this error get. :
the method getvalue() in type map.entry<string,series3.numberholder> not applicable arguments (int). if need see more code please ask, didn't want put unnecessary might have missed something.
you can't take int argument in map.entry#getvalue(). in code should entry.getvalue() instead of entry.getvalue(i). apart singlevalues arraylist . can't subtract integer average in line (entry.getvalue(i).singlevalues) - average). have first extract out element arraylist , subtract average. loop should this:
for (int = 0; < entry.getvalue().occurrences ; ++)// < entry.getvalue() avoid indexoutofboundsexception { temp += ((entry.getvalue().singlevalues.get(i)) - average)*((entry.getvalue().singlevalues.get(i)) - average); variance = temp/entry.getvalue().occurrences; }
Comments
Post a Comment