This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#compositional analysis | |
library(compositions) | |
x<-c(.1,.5,.4) | |
V<-t(ilrBase(x)) | |
D<-rbind(c(1,0,-1),c(0,1,-1)) | |
x_alr<-D%*%log(x) | |
x_ilr<-V%*%log(x) | |
x_alr | |
alr(x) | |
x_ilr |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#splatter experimenting with cell-specific dropouts | |
#pertains to https://github.com/Oshlack/splatter/issues/25 | |
#devtools::install_github("Oshlack/splatter@dropout") | |
library(splatter) | |
data("sc_example_counts") | |
# Estimate parameters from example data | |
params <- splatEstimate(sc_example_counts) | |
# Simulate data using estimated parameters | |
sim1 <- splatSimulate(params, dropout.type = "experiment") | |
assay(sim1,"logcounts")<-log2(1+assay(sim1,"counts")) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#gradient descent probabilistic PCA with missing data | |
#Will Townes | |
L<-2 #number of latent dimensions, more dims=more complexity | |
#tune these hyperparameters until get good results | |
penalty<- 1e-8 | |
learn_rate<- .1 | |
niter<-100000 #number of iterations | |
data(iris) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Fuzzy version of Jaccard and Rand Indices | |
#based on Suleman: "Assessing a Fuzzy Extension of Rand Index and Related Measures" | |
L<-4 #number of clusters | |
N<-50 #number of objects | |
X<-gtools::rdirichlet(N,rep(.01,L)) #NxL soft random clustering | |
y<-apply(X,1,which.max) #hard cluster version of X | |
table(y) | |
Y<-model.matrix(~factor(y)-1) #hard cluster version of X | |
Z<-matrix(1/L,nrow=N,ncol=L) #perfect uncertainty soft clustering |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <omp.h> | |
#include <stdio.h> | |
//clang++ -Xpreprocessor -fopenmp -lomp omptest.cpp -o omptest | |
int main() { | |
#pragma omp parallel | |
printf("Hello from thread %d, nthreads %d\n", omp_get_thread_num(), omp_get_num_threads()); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def listprimes2(m): | |
'''another attempt to list all primes below m''' | |
values = range(m+1) #note that in this list the key and the value are the same. | |
primes = values[:] | |
primes[1] = 0 #1 doesn't count as a prime | |
for i in values: | |
if primes[i] == 0: | |
pass | |
else: | |
for j in values[i+1:]: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from gpflow.conditionals import conditional | |
from gpflow.inducing_variables import SeparateIndependentInducingVariables | |
from gpflow.kernels import SeparateIndependent | |
#note: object 'm' is of type gpflow.models.svgp.SVGP | |
ind_conditional = conditional.dispatch( | |
object, SeparateIndependentInducingVariables, SeparateIndependent, object) | |
gmu, gvar = ind_conditional( | |
X, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
From https://twitter.com/Al_Grigor/status/1357028887209902088 | |
Most candidates cannot solve this interview problem: | |
* Input: "aaaabbbcca" | |
* Output: [("a", 4), ("b", 3), ("c", 2), ("a", 1)] | |
Write a function that converts the input to the output | |
I ask it in the screening interview and give it 25 minutes | |
How would you solve it? | |
""" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(mgcv) | |
#library(modules) #devtools::install_github(klmr/modules) | |
#mgcv<-import_package("mgcv") | |
mspline<-function(x,y,k=10,lower=NA,upper=NA){ | |
#fits a monotonic spline to data | |
#small values of k= more smoothing (flatter curves) | |
#large values of k= more flexible (wiggly curves) | |
#k is related to effective degrees of freedom and number of knots | |
#use unconstrained gam to get rough parameter estimates |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(pdist) | |
n<-200 | |
X<-matrix(10*runif(n),ncol=1) | |
y<-sin(X[,1])#+rnorm(n,sd=.2) | |
#plot(X[,1],y) | |
#xnew<-3 | |
#span<-1 | |
my_loess<-function(xnew,X,y,span=.75){ |