Skip to content

Instantly share code, notes, and snippets.

library(psych)
n <- 5000
x <- rnorm(n) # random values
r <- sapply(1:n, function(i) alpha(data.frame(x, c(x[1:i],rep.int(0,n-i))))$total$std.alpha)
plot(r, type="l", ylim=c(0,1), xlim=c(0,n), axes=FALSE, ylab="Alpha", xlab="Zero-Inflation (%)")
axis(2)
axis(1, at=seq(from=0,to=n,by=n/5), labels=seq(from=0,to=100,by=20))
@druedin
druedin / gist:91d0e6d2fc45444336da
Created April 23, 2015 07:57
Solarized (Dark) syntax highlighting for Pandoc/Markdown in Notepad++ (add this to userDefineLang.xml); can't recall which source file I modified... happy to give credit!
<NotepadPlus>
<UserLang name="Markdown" ext="markdown mdown mkdn mdwn mkd md Rmd" udlVersion="2.1">
<Settings>
<Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="2" decimalSeparator="0" />
<Prefix Keywords1="yes" Keywords2="yes" Keywords3="no" Keywords4="yes" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
</Settings>
<KeywordLists>
<Keywords name="Comments">00# 00## 00### 00#### 00##### 00###### 01 02 03[ 03![ 03&lt;!-- 04] 04] 04--&gt;</Keywords>
<Keywords name="Numbers, prefix1"></Keywords>
<Keywords name="Numbers, prefix2"></Keywords>
@druedin
druedin / gist:4141622
Created November 24, 2012 22:16
Wordscores and Wordfish Analysis
# #################################
# WORDSCORES AND WORDFISH ANALYSIS
# #################################
# setup
library(austin)
############################
# GETTING DOCUMENTS IN
############################
@druedin
druedin / plzcanton.R
Last active November 20, 2020 21:19
Convert Swiss postcode (Postleitzahl, PLZ) to cantons. Essentially this is a database with information which postcodes are in which canton. For 16 postcodes, it is not possible to assign the canton unambiguously; I have assigned one of the cantons according to the largest municipality/hamlet involved -- usually ignoring hamlets. Source of underl…
plzcanton <- function(PLZ, format=1) {
# convert Swiss postcode to canton; v.0.4 (20 Nov 2020) didier.ruedin@unine.ch
# format 1 = numeric
# format 2 = string
# DATA: BFS canton numbers:
clabels <- c("ZH", "BE", "LU", "UR", "SZ", "OW", "NW", "GL", "ZG", "FR", "SO", "BS","BL", "SH", "AR", "AI", "SG", "GR", "AG", "TG", "TI", "VD", "VS", "NE", "GE", "JU")
# DATA: postcodes:
ZH <- c(8970, 8955, 8954, 8953, 8952, 8951, 8942, 8934, 8933, 8932, 8926, 8925, 8915, 8914, 8913, 8912, 8911, 8910, 8909, 8908, 8907, 8906, 8904, 8903, 8902, 8901, 8833, 8825, 8824, 8820, 8816, 8815, 8813, 8812, 8810, 8805, 8804, 8803, 8802, 8801, 8800, 8714, 8713, 8712, 8708, 8707, 8706, 8704, 8703, 8702, 8700, 8639, 8637, 8636, 8635, 8634, 8633, 8632, 8630, 8627, 8626, 8625, 8624, 8623, 8622, 8621, 8620, 8618, 8617, 8616, 8615, 8614, 8613, 8612, 8610, 8608, 8607, 8606, 8605, 8604, 8603, 8602, 8600, 8548, 8545, 8544, 8543, 8542, 8523, 8499, 8498, 8497, 8496, 8495, 8494, 8493, 8492, 8489, 8488, 8487, 8486, 8484, 8483, 8482, 8479
# library
library(lmtest) # library for Breusch-Pagan
library(stargazer) # for easy comparion of regression models
# create data
dv1 = runif(15)
dv2 = runif(15)
dv3 = runif(15)
ev1 = runif(15)
ev2 = runif(15)
ev3 = as.factor(c(rep("A", 10), rep("B", 5)))
@druedin
druedin / R
Last active October 30, 2023 21:03
That quadruple sapply()
# Hi Glen. Here it comes:
countries <- unique(country)
everything <- sapply(countries, function(cy) {
parties <- unique(party[country==cy]) # all parties
this <- sapply(parties, function(z) sapply(1990:2013, function(y) mav(as.numeric(sapply(seq(y-3,y+3), function(x) experts.raw[country==cy & party==z & year==x])))))
rownames(this) <- 1990:2013
colnames(this) <- parties
return(this)
})
print(everything )