Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- ihs :: Double -> Double -> Double
- ihs' :: Double -> Double
- scale :: Vector v Double => v Double -> v Double
- filterFDR :: Vector v (a, Double) => Double -> v (a, Double) -> v (a, Double)
- slideAverage :: (Fractional a, Vector v a) => Int -> v a -> v a
- hyperquick :: Int -> Int -> Int -> Int -> Double
- kld :: (Vector v Double, Vector v (Double, Double)) => v Double -> v Double -> Double
- jsd :: (Vector v Double, Vector v (Double, Double)) => v Double -> v Double -> Double
- binarySearch :: (Vector v e, Ord e) => v e -> e -> Int
- binarySearchBy :: Vector v e => (e -> a -> Ordering) -> v e -> a -> Int
- binarySearchByBounds :: Vector v e => (e -> a -> Ordering) -> v e -> a -> Int -> Int -> Int
- quantileNormalization :: Matrix Double -> Matrix Double
Documentation
inverse hyperbolic sine transformation
:: Vector v (a, Double) | |
=> Double | desired FDR value |
-> v (a, Double) | input data and pvalues |
-> v (a, Double) |
given the p-values, filter data by controling FDR
:: (Fractional a, Vector v a) | |
=> Int | size of HALF sliding window, 2 means a total window size is 5 |
-> v a | |
-> v a |
Compute the sliding average for each entry in a vector
kld :: (Vector v Double, Vector v (Double, Double)) => v Double -> v Double -> Double Source #
compute the Kullback-Leibler divergence between two valid (not check) probability distributions. kl(X,Y) = sum_i P(x_i) log_2(P(x_i)/P(y_i)).
jsd :: (Vector v Double, Vector v (Double, Double)) => v Double -> v Double -> Double Source #
Jensen-Shannon divergence: JS(X,Y) = 1/2 KL(X,(X+Y)/2) + 1/2 KL(Y,(X+Y)/2).
binarySearch :: (Vector v e, Ord e) => v e -> e -> Int Source #
O(log n). return the position of the first element that is >= query