Skip to content

Instantly share code, notes, and snippets.

Avatar

Jason Bryer jbryer

View GitHub Profile
@jbryer
jbryer / gitbook.R
Last active Aug 29, 2015
Functions to work with Gitbook.io and R Markdown
View gitbook.R
require(knitr)
#' Initializes a new Gitbook.
#'
#' This will initalize a new Gitbook in the given directory. When done, it will
#' also change the working directory.
#'
#' @author Jason Bryer <jason@bryer.org>
newGitbook <- function(dir) {
.Deprecated('This function has been moved to the gitbook R package. See http://jason.bryer.org/Rgitbook for more information')
View GradsByGender.R
require(ipeds)
require(ggplot2)
require(reshape2)
require(scales)
data(surveys)
View(surveys)
# Directory
ipedsHelp('HD', 2012)
@jbryer
jbryer / RPackageInstaller.R
Created Nov 23, 2011
Install basic set of R packages
View RPackageInstaller.R
.libPaths() #By default, R will install packages to the first element
#This script will install some very common R packages.
repos = 'http://cran.r-project.org' #Main CRAN
repos.win = 'http://www.stats.ox.ac.uk/pub/RWin' #Site provides some prebuilt binaries for Windows
repos.rforge = 'http://r-forge.r-project.org'
libraries = c('Deducer', 'devtools', 'doBy', 'foreign', 'gdata', 'ggplot2', 'gmaps',
'Hmisc', 'JGR', 'maps', 'mapdata', 'mapproj', 'maptools', 'proto', 'psych', 'R2wd',
'Rcmdr', 'RCurl', 'reshape', 'RODBC', 'roxygen2', 'seqinr', 'sm', 'sp',
@jbryer
jbryer / GoogleReader.R
Created Jan 13, 2012
Function to return an RSS feed using the (unofficial) Google Reader API
View GoogleReader.R
require(XML)
require(RCurl)
#' This function ruturns an XML tree of the RSS feed from the given URL.
#'
#' This function utilizes the (unofficial) Google Reader API to retrieve RSS
#' feeds. The advantage of access RSS feeds through the Google Reader API is that
#' you are not limited by the number of entries a website may included in their
#' feed. That is, Google maintains generally maintains a complete history of
#' entries from the RSS feed.
@jbryer
jbryer / RBloggers.R
Created Jan 13, 2012
Retrieving and Analyzing R-Bloggers using the Google Reader API
View RBloggers.R
source('https://raw.github.com/gist/1606595/269d61dfcc7930f5275a212e11f3c43771ab2591/GoogleReader.R')
rbloggers = getRSSFeed(feedURL="http://r-bloggers.com/feed",
email="GOOGLE READER EMAIL",
passwd="GOOGLE READER PASSWORD",
posts=5000)
entries = rbloggers[which(names(rbloggers) == "entry")]
length(entries)
saveXML(rbloggers, file='rbloggers.xml')
@jbryer
jbryer / EmailClass.R
Created Jan 20, 2012
Example of object oriented programming in R
View EmailClass.R
#' Constructor
EmailClass <- function(name, email) {
nc = list(
name = name,
email = email,
get = function(x) nc[[x]],
set = function(x, value) nc[[x]] <<- value,
props = list(),
history = list(),
getHistory = function() return(nc$history),
@jbryer
jbryer / BirthdayProblem.R
Created Jan 31, 2012
Given a room with n people in it, what is the probability any two will have the same birthday?
View BirthdayProblem.R
## See http://en.wikipedia.org/wiki/Birthday_problem for an explanation of the problem
require(ggplot2)
require(reshape)
theme_update(panel.background=theme_blank(),
panel.grid.major=theme_blank(),
panel.border=theme_blank())
birthday <- function(n) {
1 - exp( - n^2 / (2 * 365) )
@jbryer
jbryer / Rprofile.R
Created Mar 7, 2012
My .Rprofile that works both on Windows and Linux
View Rprofile.R
# .Rprofile -- commands in this file will be executed at the beginning of
# each R session. On Windows, the R_PROFILE environment variable must have value
# with the full path to this file. On Linux (or other Unix like systems) this file
# must be in the user's home directory.
# Set the default repository to the main CRAN site
options(repos=c(CRAN='http://cran.r-project.org'))
# Set the oDrive varaible and library path
if(Sys.info()['sysname'] == 'Windows') {
@jbryer
jbryer / ggplot2Cheat.r
Created Apr 26, 2012
Graphic Parameters (symbols, line types, and colors) for ggplot2
View ggplot2Cheat.r
require(ggplot2)
require(grid)
theme_update(panel.background=theme_blank(),
panel.grid.major=theme_blank(),
panel.border=theme_blank())
#Borrowed (i.e. stollen) from http://research.stowers-institute.org/efg/R/Color/Chart/ColorChart.R
getColorHexAndDecimal <- function(color) {
if(is.na(color)) {
@jbryer
jbryer / setFunctionParams.R
Created Jul 15, 2013
Set function parameters within the global environment. Useful for debugging R functions.
View setFunctionParams.R
#' Set function parameters for debugging.
#'
#' Sets the defauls for the parameters in the given function witin an environment.
#'
#' @param fun the function whose parameters should be set.
#' @param envir the environment to set those parameters.
#' @param missing.value value to assign to parameters that do not have a defautl value.
#' @param overwrite should parameters already defined be overwritten.
setFunctionParams <- function(fun,
envir=.GlobalEnv,
You can’t perform that action at this time.