Skip to content

Instantly share code, notes, and snippets.

library(dplyr)
a <- data.frame(foo = 1:10, bar = "bar")
b <- tbl_df(a)
a[,1]
b[,1]
paste0(a[,1], "!")
paste0(b[,1], "!")
---
title: "Fitting with uncertainty"
author: "Michael Kuhn"
date: "24 Aug 2015"
output: html_document
---
In this toy example, we assume that we've independently measured values $x$ and $y$ and want to find a linear relationship between them, accounting for measurement uncertainty. Each $x$ and $y$ value is assigned a different uncertainty, and the challenge is to take this information into account. A standard linear model will treat all points equally.
When we treat each measurement as a multivariate normal distribution, we can find a point along the proposed fitted line that is maximizing the probability density function (i.e. that has a maximum likelihood). Thus, given a slope and intercept, we virtually move all measurements to their most likely point along the line, and use the likelihood at this point.
@mkuhn
mkuhn / initial_param_vs_runtime.R
Created September 30, 2015 09:52
Detecting correlation between initial parameters and run time in RStan
library(purrr)
runtimes <- get_elapsed_time(fit)[,2]
inits <- get_inits(fit)
## traditional conversion to a matrix
# m.init <- do.call(rbind, lapply(inits, function(l) do.call(c, l)))
## using purrr
> library(purrr)
> ll <- list(list(a=1:3, b=4), list(a=5:7, b=8))
> ll %>% map(lift_dl(c)) %>% map_call(rbind)
a1 a2 a3 b
[1,] 1 2 3 4
[2,] 5 6 7 8
> Reduce(rbind, ll)
a b
init Integer,3 4
Integer,3 8
@mkuhn
mkuhn / inplace_comparison.R
Created March 8, 2016 09:07
Count comparison results without additional memory allocation
library(Rcpp)
`%count<%` <- cppFunction('
size_t count_less(NumericVector x, NumericVector y) {
const size_t nx = x.size();
const size_t ny = y.size();
if (nx > 1 & ny > 1) stop("Only one parameter can be a vector!");
@mkuhn
mkuhn / pdz
Created September 28, 2017 08:41
Scribble:
B7Z2Y1_HUMAN
ARHG7_HUMAN
ARHG8_HUMAN
KCNA5_HUMAN
VWCE_HUMAN
DNML1_HUMAN
PKP4_HUMAN
NXPE2_HUMAN
@mkuhn
mkuhn / guides.md
Created June 30, 2021 08:24
Hollow circles for size legend
library(tidyverse)

set.seed(23)

d <- tibble(x = rnorm(10), y = rnorm(10), a = rep(c("x", "y"),5), b = rep(1:5, 2))

d %>% 
  ggplot(aes(x, y, color = a, size = b)) + geom_point() +
 guides(colour = guide_legend(order = 1),