Skip to content

Instantly share code, notes, and snippets.

View yihui's full-sized avatar

Yihui Xie yihui

View GitHub Profile
@yihui
yihui / readme.md
Created March 5, 2012 07:09
Filling a full beamer slide with tikzDevice output from R
@yihui
yihui / animation-useR2010-Xie.R
Created March 23, 2012 03:33
My Talk on Animations at useR! 2010 (NIST, Gaithersburg)
pdf.options(width = 7, height = 5, family = "AvantGarde")
library(RColorBrewer)
library(animation)
# title page
# pdf('titlepic.pdf', width=7, height=4)
ani.options(nmax = 66, interval = 0)
data(HuSpeech)
par(mar = c(4, 4, 0.1, 0.1))
@yihui
yihui / knitr-breaklines.Rnw
Created March 26, 2012 21:15
How to break lines in knitr output with the listings package
% see http://yihui.name/knitr/demo/listings/ for output
\documentclass{article}
% define a new environment to break lines for error messages
\lstnewenvironment{Serror}{\lstset{style=Routstyle,breaklines=true}}{}
<<setup, include=FALSE>>=
render_listings()
@
@yihui
yihui / readme.md
Created April 22, 2012 16:36
use a chunk option to control output width in knitr
@yihui
yihui / github-upload
Created May 1, 2012 16:05 — forked from wereHamster/README.md
Script to upload files to github: ./github-upload <file> [<repo>]
#!/usr/bin/env ruby
# under Ubuntu, you should install ruby1.9.1 or higher (default 1.8 does not work)
require 'json'
require 'net/https'
require 'pathname'
# Extensions
@yihui
yihui / knitr-slides.html
Created May 1, 2012 17:58
dzslides made by knitr
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta name="author" content="Yihui Xie" />
<title>Writing beautiful and reproducible slides quickly</title>
<style type="text/css">
table.sourceCode, tr.sourceCode, td.lineNumbers, td.sourceCode {
margin: 0; padding: 0; vertical-align: baseline; border: none; }
table.sourceCode { width: 100%; }
td.lineNumbers { text-align: right; padding-right: 4px; padding-left: 4px; color: #aaaaaa; border-right: 1px solid #aaaaaa; }
@yihui
yihui / stream_graph.R
Created May 2, 2012 03:07
a quick and dirty function to draw stream graphs
# data is a non-negative matrix; x is the timeline vector
stream_graph = function(data, x=1:nrow(data)) {
m = ncol(data); n = nrow(data)
data[is.na(data)] = 0
data = t(apply(cbind(0, as.matrix(data)), 1, cumsum))
data = sweep(data, 1, rowMeans(data))
plot(range(x), range(data, na.rm = TRUE), type = 'n', ann = FALSE)
for (j in 1:m) {
y = c(data[, j], rev(data[, j + 1]))
polygon(xspline(c(x, rev(x)), y, shape = -1, draw = FALSE), col = j, border = NA)
@yihui
yihui / french.lyx
Created May 16, 2012 21:51
knitr i18n tests
#LyX 2.0 created this file. For more info see http://www.lyx.org/
\lyxformat 413
\begin_document
\begin_header
\textclass article
\use_default_options true
\begin_modules
knitr
\end_modules
\maintain_unincluded_children false