This program implements some data transformations on hexapods habitat statistics. Task description in Russian language is here in Roman's blog post: http://haskell98.blogspot.ru/2015/03/2015.html
Check out code in core.clj.
Check out tests to see basic examples of what algorithm is about core_test.clj.
To run program enter following in console:
./run.sh
It will compile program to one uberjar and run it.
To run tests:
lein test
If you run this program, you will get this output in console:
Diversity of hexapods by countries:
{"Эритрея" 2,
"Таруса" 1,
"Йемен" 2,
"Елабуга" 4,
"Эфиопия" 5,
"Малайзия" 2,
"Зимбабве" 4,
"Танганьика" 5,
"Пакистан" 4,
"Югославия" 2,
"Шри-Ланка" 2,
"Бутан" 1,
"Сингапур" 4,
"Филиппины" 4,
"Албания" 2,
"Курдистан" 1,
"Германия" 2,
"Ломбардия" 1,
"Вевелония" 6,
"Херсонес" 3,
"Вайоминг" 2,
"Парагвай" 2,
"Индия" 3,
"Дания" 3,
"Ямайка" 3,
"Тотьма" 1,
"Уганда" 3,
"Прерия" 3,
"Кения" 4,
"Танзания" 2,
"Греция" 4,
"Патагония" 2,
"Россия" 5,
"Непал" 2,
"Япония" 4,
"Сибирь" 2,
"Австралия" 4,
"Камчатка" 2,
"Ливан" 3}
Dissapearance risks:
{"Популий грыжомельский" 1744,
"Мелолонтий западный" 1814,
"Десятилиньята лепая" 496,
"Аурата сетуньская" 1314,
"Семипунктата Коха" 1601,
"Гортикола филоперьевая" 2151}
And csv file resources/hexapod-stats.csv with content like this:
Country/Hexapod;Популий грыжомельский;Мелолонтий западный;Десятилиньята лепая;Аурата сетуньская;Семипунктата Коха;Гортикола филоперьевая
Эритрея;-;-;Единицы;Сравнительно немного;-;-
Таруса;-;Много;-;-;-;-
Йемен;-;-;-;Сравнительно немного;Немного;-
Елабуга;Много;Очень мало;-;-;Много;Много
Эфиопия;Много;Единицы;-;Сравнительно немного;Единицы;Очень много
Малайзия;-;-;-;Сравнительно немного;Мало;-
Зимбабве;Единицы;-;Очень мало;-;Единицы;Очень мало
Танганьика;Очень много;Много;-;Сравнительно немного;Очень много;Очень мало
Пакистан;Немного;Очень мало;Немного;-;Немного;-
Югославия;Много;-;-;-;-;Много
Шри-Ланка;-;-;-;Много;Мало;-
Бутан;-;-;-;Много;-;-
Сингапур;Сравнительно немного;Много;-;-;Сравнительно немного;Много
Филиппины;Очень много;Единицы;Мало;-;-;Очень мало
Албания;Единицы;-;Очень мало;-;-;-
Курдистан;Много;-;-;-;-;-
Германия;-;-;-;В огромных количествах;Немного;-
Ломбардия;-;Мало;-;-;-;-
Вевелония;Сравнительно немного;Сравнительно немного;Немного;В огромных количествах;Много;Сравнительно немного
Херсонес;Много;-;-;-;Мало;Много
Вайоминг;Немного;-;-;-;-;Немного
Парагвай;-;Очень мало;Единицы;-;-;-
Индия;-;-;Единицы;Сравнительно немного;-;Сравнительно немного
Дания;-;Сравнительно немного;-;-;В огромных количествах;Сравнительно немного
Ямайка;-;-;Сравнительно немного;-;Очень много;Очень мало
Тотьма;-;Очень много;-;-;-;-
Уганда;-;-;Сравнительно немного;Сравнительно немного;-;Много
Прерия;Немного;-;Немного;-;-;Немного
Кения;Много;Единицы;-;В огромных количествах;-;Немного
Танзания;Единицы;-;-;В огромных количествах;-;-
Греция;Немного;-;-;В огромных количествах;Немного;Много
Патагония;Единицы;-;Единицы;-;-;-
Россия;Единицы;-;Мало;Мало;Очень мало;Единицы
Непал;Мало;-;-;Много;-;-
Япония;Единицы;Много;-;Сравнительно немного;Очень много;-
Сибирь;-;-;Мало;-;-;Много
Австралия;-;Сравнительно немного;Немного;Много;-;Единицы
Камчатка;-;-;-;Мало;-;Единицы
Ливан;В огромных количествах;Немного;-;-;-;В огромных количествах
I want to say thank you to following developers for refactoring ideas:
Copyright © 2015 Alexander Petrov (a.k.a. Lysenko by passport)
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.