Skip to content

Instantly share code, notes, and snippets.

Avatar

Noam Ross noamross

View GitHub Profile
@noamross
noamross / vectorizationtalk.md
Created Apr 14, 2014
Rough draft of post on vectorization.
View vectorizationtalk.md

% Vectorization without Condescension % Noam Ross % 14-04-07 09:09:18

Here are my notes from a recent talk I gave on vectorization at a Davis R Users' Group meeting. Thanks to Vince Buffalo, John Myles White, and Hadley Wickham for their input as I was preparing this.

Beginning R users are often told to "vectorize" their code. Here, I try to explain why vectorization can be advantageous in R by showing how R works under the hood.

Now, remember, premature optimization is the root of all evil (Knuth). Don't start re-writing your code unless the time saved is going to be worth the time invested. Other approaches, like finding a bigger machine or parallelization, could give you more bang for the buck in terms of programming time. But if you und

@noamross
noamross / get_peerj_subject_dois.R
Created Jun 12, 2014
Grab DOIs of all PeerJ articles from a subject area
View get_peerj_subject_dois.R
#Get DOIs for subject area from PeerJ
library(httr)
library(plyr)
#JSON for Ecology articles (paginated):
ecol_url = "https://peerj.com/articles/index.json?subject=1100"
dois = list()
repeat {
@noamross
noamross / slowGET.R
Created Jun 26, 2014
slowGET - A throttled version of GET
View slowGET.R
throttle = new.env(parent = emptyenv())
throttle$recent = data.frame(domain = character(), last_visit = character())
#' A throttled version of GET
#'
#' This uses \code{httr::GET} to fetch a web page, but throttles based on domains.
#'
#' \code{slowGET} keeps a list of domains recently accessed by itself in a
#' separate environment. If a domain has been accessed since \code{pause}
#' seconds ago, it will delay execution until that time has passed
@noamross
noamross / tutor.md
Last active Aug 29, 2015
Visually Impaired Bioinformatics Graduate Student Seeking R Programming Tutoring
View tutor.md

I received the following inquiry from Thomas Hahn, a visually impaired graduate student seeking an R programming tutor. Anyone interested in working with Thomas can contact him at Thomas.F.Hahn2@gmail.com.

I am a visually impaired bioinformatics graduate student using microarray data for my master’s thesis aimed at deciphering the mechanism by which the yeast wild type can suppress the rise of free reactive oxygen species (ROS) induced by caloric restriction (CR) but the Atg15 and Erg6 knockout mutant cannot.

Since my remaining vision is very limited I need very high magnification. But that makes my visual field very small. Therefore I need somebody to guide me remotely through the R environment and teach me how to best use the R packages for bioinformatics, especially for microarray analysis, next generation sequencing and constructing gene and pathway interaction networks. This is very difficult for me to figure out without as

@noamross
noamross / msl_ama.md
Last active Aug 29, 2015
Draft MSL AMA blog post
View msl_ama.md

We Run Scientific Computing Communities, Ask Us Anything

How do you create and nurture communities of people who teach, learn, and collaborate to build scientific computing skills? That's a question central to much of MSL's work, especially as we embark on new long-term training initiatives.

On March 24, 6-8PM EST, we're hosting an online panel discussion on this topic on our forum. It's Ask-Us-Anything, MSL-style. We want to spur knowledge-sharing among those who facilitate local learning communities. Are you part of a study group, users' group, or other community of people who help each other with these skills? Do you want to start one or improve how yours works? Please join us!

Our panelists each work on local initiatives to train computing skills and build learning communities. We'll be talking about our models, approaches, and challenges, and taking questions and comments about how to build such communities el

View myfile.geojson
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View myfile.geojson
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@noamross
noamross / test.R
Created Jun 22, 2015
test for import::from
View test.R
myfunc <- function(x) {
x + 1
}
@noamross
noamross / disease_tweeps.R
Last active Aug 29, 2015
I wanted to make a list of my disease ecology followers and followees on twitter, so...
View disease_tweeps.R
library(twitteR)
library(rlist)
library(pipeR)
library(stringi)
# Authenticate with twitter
# consumer/access keys and secrets for the twitter API must be defined elsewhere
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)
# Get all my followers and followees
@noamross
noamross / gist:b902d1cda9bedb1bd060
Last active Aug 29, 2015
Capturing all console output, including messages from C programs, etc
View gist:b902d1cda9bedb1bd060
conn <- textConnection("printed_output", "w", local = TRUE)
sink(conn, type=c("output"))
sink(conn, type=c("message"))
install.packages("ggplot2")
sink(NULL)
printed_output
# This will append the text to the printed_output variable, so clear it beforehand.