Skip to content

Instantly share code, notes, and snippets.

View peterdalle's full-sized avatar

Peter M. Dahlgren peterdalle

View GitHub Profile
@peterdalle
peterdalle / fraction.r
Created August 24, 2017 15:32
Calculate fraction and greatest common divisor
library(FRACTION)
fra(0.001, j = 20)
fra(0.5^10., j = 20)
gcd(14, 32)
@peterdalle
peterdalle / icc-95ci.r
Created September 4, 2017 17:32
Calculate 95 % CI from ICC
# Code by Ashe: https://stats.stackexchange.com/questions/184767/how-do-i-calculate-the-confidence-interval-of-an-icc
#Make some mocked data
library(lme4)
library(reshape2)
set.seed(2024) #For the Bell Riots
id <- factor(seq(1, 15))
id.mu <- rnorm(15, 10, 5)
mydat <- NULL
for (a in 1:length(id)){
@peterdalle
peterdalle / batch-resize-images.bat
Last active March 12, 2020 17:23
ImageMagick batch resize images in current directory to new directory
REM https://stackoverflow.com/questions/14304480/batch-resize-images-and-output-images-to-new-folder-with-imagemagick
magick mogrify -resize 1024 -quality 100 -path ./new *.jpg
@peterdalle
peterdalle / create_correlation.r
Created March 20, 2018 17:51
Create a data.frame with a fixed correlation between x and y
create_correlation <- function(n=1000, r=0.5) {
# Based on caracal:s answer at
# https://stats.stackexchange.com/questions/15011/generate-a-random-variable-with-a-defined-correlation-to-an-existing-variables/15040#15040
theta <- acos(r) # corresponding angle
x1 <- rnorm(n, 1, 1) # fixed given data
x2 <- rnorm(n, 2, 0.5) # new random data
X <- cbind(x1, x2) # matrix
Xctr <- scale(X, center=TRUE, scale=FALSE) # centered columns (mean 0)
Id <- diag(n) # identity matrix
Q <- qr.Q(qr(Xctr[ , 1, drop=FALSE])) # QR-decomposition, just matrix Q
@peterdalle
peterdalle / install-packages.r
Last active April 24, 2022 14:00
Install my commonly used R packages
favorite_packages <- c(
# Package development
"devtools", "Rcpp", "roxygen2", "testthat", "covr",
# Handle data
"rio", "tidyverse", "broom", "lubridate", "stringr",
# Database
"RMySQL",
@peterdalle
peterdalle / effect-sizes-density-plot.r
Created July 20, 2018 14:34
Density plot of effect sizes from social psychology and communication science
library(tidyverse)
df <- read.csv("https://raw.githubusercontent.com/peterdalle/effectsizes/master/soc-psych.tsv",
header=TRUE, sep="\t", stringsAsFactors=FALSE)
df.comm <- read.csv("https://raw.githubusercontent.com/peterdalle/effectsizes-comm/master/effectsizes.csv",
header=TRUE, sep=",", stringsAsFactors=FALSE)
ggplot() +
geom_density(aes(df$r), fill="red", alpha=0.3) +
@peterdalle
peterdalle / valresultat-partiledare-mediebevakning.r
Created September 13, 2018 18:13
News coverage of party leaders compared to Swedish 2018 election results
library(gganimate)
library(ggrepel)
library(lubridate)
library(tidyverse)
# The order is FUBAR.
partycolors <- c("#006AB3", "#000077", "#52BDEC", "#E8112d",
"#83CF39", "#009933", "#DA291C", "#E8AC41")
# Mediearkivet keywords:
library(tidyverse)
n.samples = 25
set.seed(5)
rerun(20,rnorm(n.samples)) %>%
map_dfr(~data_frame(data = list(.x)), .id = 'samples') %>%
mutate(mu = map_dbl(data,mean),
se = map_dbl(data,~sd(.x)/sqrt(length(.x))),
top = mu +1.96*se,
@peterdalle
peterdalle / monitor_sql.cmd
Created October 25, 2018 13:26
Show SQL queries in MySQL in real time
@echo off
REM From https://stackoverflow.com/questions/568564/how-can-i-view-live-mysql-queries
mysqladmin -u username -ppassword --verbose -i 1 processlist
@peterdalle
peterdalle / create_pdf_diagram.rmd
Last active October 31, 2018 16:36
How to include DiagrammeR grViz() diagram and graphs in your RMarkdown
Include a DiagrammeR grViz() diagram into your RMarkdown document without the need to create a graph PDF file separately.
Based on the code from https://github.com/rich-iannone/DiagrammeR/issues/133#issuecomment-284370996.
```{r}
# Install packages.
install.packages(c("DiagrammeR", "DiagrammeRsvg", "rsvg", "magrittr"))
```
```{r}