Fork me on GitHub
#data-science
<
2017-10-09
>
rustam.gilaztdinov08:10:18

@drewverlee lib for “ad-hoc statistics”, something like pandas https://github.com/sbelak/huri

elise_huard13:10:09

for anyone using gorilla, I finally prodded gorilla-repl to 1.9.0-beta2 https://clojars.org/kixi/gorilla-repl

elise_huard13:10:14

seems to work for me.

elise_huard13:10:23

lmk if it doesn't for you

elise_huard13:10:43

I still feel the pain of lack of graphs in gorilla though, find myself spitting files and doing some Libreoffice calc to get nice graphs

elise_huard13:10:19

huri's probably the closest thing but still missing essentials like multi-series line graphs or bar charts

elise_huard13:10:09

(also, while respect and gratitude for the project, I prefer single-use libraries that do just the one thing, like plotting)

elise_huard13:10:56

I started a thing but work doesn't leave me a lot of time to improve it (and I have a family so don't do much in the evenings) and it's pretty crappy atm

elise_huard13:10:32

I'll see if I can push it to useable and report here when that happens.

elise_huard14:10:44

labels are still broken and I really want multi-data-series everything

jsa-aerial16:10:28

@elise_huard The thing you want to look into is Vega-Lite: https://vega.github.io/vega-lite and nice (semi mind blowing talk) https://www.youtube.com/watch?v=9uaHRWj04D4 Works very nicely with Clojure as it is (nearly) entirely data driven via JSON 'maps'. I think it includes pretty much everything you would want for 'datascience/stat' dynamic, interactive visualizations and graphing. Including tooltips (only fancy pant tool tips need a bit of JS). I'm pretty sure it has anything you need for 'multi-data-series' stuff

jsa-aerial16:10:56

I have a very simple client/server-lib set up that pushes Clojure maps to browser. You can directly use the documentation of the JSON to directly encode same capabilities in Clojure/ClojureScript. This is fairly tight and compact, but since I used gyptis I am also re-implementing a variation of that api. With VL this is quite simple and straightforward.

elise_huard16:10:32

@jsa-aerial thank you, I'll have a look!

rustam.gilaztdinov16:10:27

@jsa-aerial very interesting! can you share code for this? doge

jsa-aerial16:10:39

It is kind of amazing that I mistook this thing for some watered down version of vega for several months before finally having a real look at it. Possibly one of the worst names ever

jsa-aerial16:10:00

Yes, I am planning on doing that

jsa-aerial16:10:15

Take a look at that video - what they can do is pretty amazing and very cool. And it is put together by a group (IDL at UW) that really knows this stuff every which way (and they brought us vega as well

aaelony17:10:18

Vega is the engine that Gorilla uses. There are a couple libraries that emit Vega or Vega-lite (which is pre-packaged choices for Vega). I think under the hood Vega-Lite calls Vega which calls D3.js

aaelony17:10:03

probably a few other libs out there as well

jsa-aerial17:10:18

@aaelony: Yes, as I mentioned, I used gyptis, but with vega-lite, gyptis is basically obsolete - it basically gave a small subset of the capabilities of VL and then you could manually mess with the Vega output, but that (as the VL people note) is just too low level for this sort of interaction and exploration. I can tell you right here that it is far easier to use straight vega-lite for everything than to mess with the vega output of gyptis functions to get what you want. Gorilla is way worse than gyptis for this - basically very little there for anything. And yes, Vega Lite compiles to Vega (as explained in the doc and video) and Vega (written by the same group) is layered on D3. But as noted in the video, D3 and Vega are way too low level for interactive exploration and ggplot and Tableau are too static

aaelony18:10:10

good synopsis. all true

jsa-aerial18:10:03

With the advent of VL (which is already packaged in CLJSJS - that's where I pulled it for use with CLJS client), the way forward for gorilla is to replace all the plotting, graphing - probably even the renderer is now obsolete - with VL. Then replace the 'editor' with a version of proto-repl. Actually, it may be that the best way forward is to use VL, proto-repl and reframe/reagent as your base and completely do a new notebook.

aaelony18:10:59

vizard is obsolete as well?

jsa-aerial18:10:00

More or less - originally sat on vega with very little support - not nearly as nice as gyptis. Then sat on VL1, but not VL2. But basically with VL you don't really need any helpers. But redoing a variation of gyptis helpers on top VL2 is what I've done. That may or may not be useful for anyone. I happen to like it as I used gyptis in many places and only when frustrated by its lack of various things did I stumble on to VL. Basically with VL2, pretty much all libs are 'obsolete'...