Skip to content

Instantly share code, notes, and snippets.

Avatar

Daniel Harasim dharasim

View GitHub Profile
View parsetree.jl
module TreeFromString
using PEG
import Base: show
struct Tree{T}
val ::T
children ::Vector{Tree{T}}
end
@dharasim
dharasim / bootstrap.py
Created Apr 11, 2019
2-sample bootstrap test in python
View bootstrap.py
def bootstrap_test(higher, lower, n=100000):
xs = higher
ys = lower
m = np.mean(xs) - np.mean(ys)
zs = np.concatenate((xs,ys))
boots = np.random.choice(ys, size=(n,len(zs)))
return np.sum(np.mean(boots[:,0:len(xs)], 1) - np.mean(boots[:,len(xs)+1:], 1) > m)
# test whether the mean of the array `higher` is higher than the mean of the array `lower`
def bootstrap_pvalue(higher, lower, n=100000):
@dharasim
dharasim / index.html
Last active Feb 19, 2019
Pitch Class Barplot
View index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Vega Lite Barplot</title>
<!-- Import Vega 4 & Vega-Lite 3 (does not have to be from CDN) -->
<script src="https://cdn.jsdelivr.net/npm/vega@4"></script>
<script src="https://cdn.jsdelivr.net/npm/vega-lite@3.0.0-rc12"></script>
@dharasim
dharasim / CompoundDistributions.jl
Created Feb 7, 2019
Compound Distributions in Julia
View CompoundDistributions.jl
module CompoundDistributions
using StatsFuns.RFunctions: betarand, gammarand
using SpecialFunctions: lbeta
using LogProbs
# distribution types
export BetaBern, DirMul, DirCat, UniCat, CatDist, ChineseRest
# conditional distribution type
@dharasim
dharasim / example_plot.jl
Last active Dec 12, 2018
VegaLite plots in Julia
View example_plot.jl
df = DataFrame(x=randn(500), y= randn(500))
df |> vlplot(
mark = :point,
encoding = (
x = (field=:x, typ=:quantitative),
y = (field=:y, typ=:quantitative)
)
)
View julia_tools.jl
partial(f, args...) = let args = args; (more...) -> f(args..., more...) end
@dharasim
dharasim / fibs.jl
Created Aug 13, 2018
Fibs iterator in Julia v1.0
View fibs.jl
using Base.Iterators: take
import Base: iterate, IteratorSize, eltype
struct Fibs end
iterate(::Fibs, (i, j) = (1, 1)) = i, (j, i+j)
IteratorSize(::Type{Fibs}) = Base.IsInfinite()
eltype(::Type{Fibs}) = Int
# collect the first ten fibs in an array
View using_seaborn_in_julia.jl
import Seaborn
import Pandas
# convert julia dataframe into a pandas dataframe
panda(df) = Pandas.DataFrame(Dict(n => df[n] for n in names(df)))
View compounds.jl
using StatsFuns.RFunctions: betarand, gammarand
using LogProbs
function categorical_sample(tokens, weights)
x = rand() * sum(weights)
cum_weights = zero(eltype(weights))
for (t, w) in zip(tokens, weights)
cum_weights += w
if cum_weights > x
return t
@dharasim
dharasim / unzip_in_julia.jl
Last active Mar 22, 2018
generic unzip function in julia
View unzip_in_julia.jl
"""
unzip(iter)
unzip an iterable object of indexable objects
"""
function unzip(iter)
ntuple(length(first(iter))) do i
map(iter) do indexable
getindex(indexable, i)
end
You can’t perform that action at this time.