Skip to content

Instantly share code, notes, and snippets.

pacman::p_load(pacman, tidyverse, rio, magrittr, janitor, ggdist, distributional)
tibble::tribble(
~Kön, ~Ålder, ~Kapital.Medel, ~Kapital.Median, ~Månadssparande.Medel, ~Månadssparande.Median,
"Kvinna", 18L, 66660L, 10750L, 2440L, 550L,
"Kvinna", 19L, 66510L, 12810L, 4570L, 1700L,
"Kvinna", 20L, 71230L, 17110L, 4730L, 2000L,
"Kvinna", 21L, 72470L, 16100L, 4110L, 1500L,
"Kvinna", 22L, 71510L, 15910L, 3710L, 1400L,
"Kvinna", 23L, 78860L, 16720L, 3590L, 1500L,
"Kvinna", 24L, 78820L, 16570L, 3750L, 1500L,
@StaffanBetner
StaffanBetner / index.html
Last active October 1, 2025 13:56
Interactive Confusion Matrix
<!DOCTYPE html>
<!-- Vibe coded with Gemini 2.5 Pro -->
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Interactive Confusion Matrix</title>
<script src="https://cdn.tailwindcss.com"></script>
<style>
body {
We can't make this file beautiful and searchable because it's too large.
atc,sv1,sv2,sv3,sv4,sv5
A,Matsmältningsorgan och ämnesomsättning,,,,
A01,Matsmältningsorgan och ämnesomsättning,Medel vid mun- och tandsjukdomar,,,
A01A,Matsmältningsorgan och ämnesomsättning,Medel vid mun- och tandsjukdomar,Medel vid mun- och tandsjukdomar,,
A01AA,Matsmältningsorgan och ämnesomsättning,Medel vid mun- och tandsjukdomar,Medel vid mun- och tandsjukdomar,Medel mot karies,
A01AA01,Matsmältningsorgan och ämnesomsättning,Medel vid mun- och tandsjukdomar,Medel vid mun- och tandsjukdomar,Medel mot karies,Natriumfluorid
A01AA02,Matsmältningsorgan och ämnesomsättning,Medel vid mun- och tandsjukdomar,Medel vid mun- och tandsjukdomar,Medel mot karies,Natriummonofluorofosfat
A01AA03,Matsmältningsorgan och ämnesomsättning,Medel vid mun- och tandsjukdomar,Medel vid mun- och tandsjukdomar,Medel mot karies,Olaflur
A01AA04,Matsmältningsorgan och ämnesomsättning,Medel vid mun- och tandsjukdomar,Medel vid mun- och tandsjukdomar,Medel mot karies,Tennfluorid
A01AA30,Matsmältningsorgan och ämnesomsättning,Medel vid
# Third order Delta method
bias_adj <- function(mu, sigma, fun){
first_deriv <- pracma::fderiv(fun, mu)
second_deriv <- pracma::fderiv(fun, mu, n = 2)
third_deriv <- pracma::fderiv(fun, mu, n = 3)
moment1 <- fun(mu)+ # first order
1/2*second_deriv*sigma^2 # second order
# the third order part evaluates to zero due to symmetry
moment2 <- sqrt((first_deriv*sigma)^2+ # first order
@StaffanBetner
StaffanBetner / app.R
Last active December 17, 2024 10:24
Overlapping Segments Viewer
# Workaround for Chromium Issue 468227 - fixes download functionality in Chrome-based browsers
downloadButton <- function(...) {
tag <- shiny::downloadButton(...)
tag$attribs$download <- NULL
tag
}
# Load required packages
library(shiny) # Core Shiny functionality
library(DT) # For interactive data tables
@StaffanBetner
StaffanBetner / app.R
Last active December 16, 2024 11:44
Seriation via Correspondence Analysis Shinylive App
library(shiny)
library(bslib)
library(readxl)
library(FactoMineR)
library(factoextra)
library(DT)
library(dplyr)
library(data.table)
ui <- page_sidebar(
library(cmdstanr)
library(brms)
brm_pathfinder_inits <- function(..., psis_resample=TRUE, max_lbfgs_iters = 2500, history_size = 100){
brm(empty = T, ...) ->
brm_empty
cmdstanr::write_stan_file(brm_empty$model) %>%
cmdstan_model(cpp_options = list(stan_threads = TRUE)) ->
model_cmdstan
library(duckdb)
library(DBI)
library(dbplyr)
duckdb_write_parquet <- function(tbl_obj, filename){
library(tictoc)
library(glue)
tbl_object$src$con -> con
con %>% dbExecute("SET autoinstall_known_extensions=1;")
con %>% dbExecute("SET autoload_known_extensions=1;")
@StaffanBetner
StaffanBetner / iterfuns.hpp
Last active March 8, 2024 20:56
Sample Bootstrap Weights within Stan (once for every iteration)
#ifndef DIRICHLET_RNG_WRAPPER_HPP
#define DIRICHLET_RNG_WRAPPER_HPP
#include <stan/math.hpp>
#include <boost/random/mersenne_twister.hpp>
#include <chrono>
#include <Eigen/Dense>
#include <iostream>
// Declare an integer to keep track of the iteration count
This file has been truncated, but you can view the full file.
<!DOCTYPE html>
<html lang="en"><head>
<script>/*!
* clipboard.js v2.0.11
* https://clipboardjs.com/
*
* Licensed MIT © Zeno Rocha
*/
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c("cut"),t};function o(t,e){var n,o,t=(n=t,o="rtl"===document.documentElement.getAttribute("dir"),(t=document.createElement("textarea")).style.fontSize="12pt",t.style.border="0",t.style.padding="0",t.style.margin="0",t.style.position="absolute",t.style[o?"right":"left"]="-9999px",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top="".concat(o,"px"),t.setAttribute("readonly",""),t.value=n,t);return e.contain