Chciałbym wyjaśnić z góry, szukam sposobu obliczenia odchylenia standardowego za pomocą strumieni (mam obecnie działającą metodę, która oblicza & zwraca SD, ale bez korzystania z strumieni).Strumienie Java - odchylenie standardowe
Zestaw danych, w którym pracuję, jest ściśle dopasowany do tego, co widać w artykule Link. Jak pokazano w tym linku jestem w stanie pogrupować moje dane, aby uzyskać średnią, ale nie jestem w stanie dowiedzieć się, jak uzyskać SD.
Kod
outPut.stream()
.collect(Collectors.groupingBy(e -> e.getCar(),
Collectors.averagingDouble(e -> (e.getHigh() - e.getLow()))))
.forEach((car,avgHLDifference) -> System.out.println(car+ "\t" + avgHLDifference));
Ja również sprawdzone Link na DoubleSummaryStatistics ale nie wydaje się, aby pomóc SD.
dziękuję bardzo. Jestem w stanie uzyskać SD. Teraz sprawdzam, czy mogę zebrać oba uśredniające podwójne i SD (np. - samochód, średniaHL, SD) w tym samym wywołaniu strumienia() zamiast 2 strumieni. – iCoder
@iCoder "DoubleStatistics" w tej odpowiedzi zbiera SD i średnią tak. Możesz mieć 'Map' z wszystkimi informacjami. –
Tunaki
Interesujący fakt dotyczący przepełnienia: nikt nie dba o to, że 'LongSummaryStatistics' faktycznie przepełnia sumę, więc' LongStream.of (Long.MAX_VALUE, Long.MAX_VALUE) .summaryStatistics(). GetAverage() 'to' -1.0'. Szanse na trafienie tego przelewu, według mnie są wyższe niż szanse trafienia przepełnienia sumy kwadratów ... –