Skip to content

Instantly share code, notes, and snippets.

@simecek
simecek / netiquette.r
Created October 25, 2011 15:12
Email Netiquette
count.google.hits <- function(query) {
# call Google Search and extract the number of hits
url <- paste('http://www.google.com/search?q=', query, sep="")
tmp <- readLines(url, warn=FALSE)
writeLines(tmp, "c:\\temp\\pokus.html")
pattern <- ".*<div id=resultStats>[A-Za-z ]*([0-9 ,]*) results<nobr> \\([0-9.]* seconds\\).*"
count.line <- grep(pattern,tmp)[1]
hits <- sub(pattern, "\\1", tmp[[count.line]])
@simecek
simecek / pim.R
Created November 23, 2011 17:29
Prague Half Marathon 2010
library(xlsReadWrite)
library(MASS)
### DATA DOWNLOAD
dir.name <- tempdir()
url2010 <- "http://www.praguemarathon.com/images/stories/articles/files/HM2010/HM2010_eng.xls"
file <- paste(dir.name, "2010.xls", sep="\\")
@simecek
simecek / gist:1587954
Created January 10, 2012 08:57
Gmail Analysis
function SearchEmail() {
var mySheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var EmailName = Browser.inputBox("Search", "Type from:email@address.cz", Browser.Buttons.OK_CANCEL);
var maxthreads = 250;
var searchedThreads= GmailApp.search("from:(<" + EmailName + ">)", 0, maxthreads);
var regExp = new RegExp(".*<" + EmailName + ">$");
var counter = 1;
for(var i in searchedThreads){
var messages = searchedThreads[i].getMessages();
@simecek
simecek / plotting.R
Created January 10, 2012 09:02
Make the plot of data mined by Google Apps Script
data <- read.csv("http://docs.google.com/spreadsheet/pub?hl=en_US&hl=en_US&key=0AnhE_6FIbbVWdFNxeS1ESWtvSUk5WE5KcnBwVWVqckE&output=csv", header=FALSE, skip=1, as.is=TRUE)
sent <- data.frame(Time=strptime(data[,1], "%H:%M:%S"))
library(ggplot2)
theme_update(panel.background = theme_rect(fill = "grey90", colour = "black"))
xstart <- strptime("01:00:00", "%H:%M:%S")
xend <- strptime("23:00:00", "%H:%M:%S")
ggplot(sent, aes(Time)) + geom_density(fill="grey50", adjust=0.5) + xlim(xstart, xend)
@simecek
simecek / facebook_friendship1.r
Created January 18, 2012 11:28
Facebook Friendship Graph
# the code uses 'facebook' function from the previous gist (https://gist.github.com/1634662) or
# see the original http://romainfrancois.blog.free.fr/index.php?post/2012/01/15/Crawling-facebook-with-R
# scrape the list of friends
friends <- facebook( path="me/friends" , access_token=access_token)
# extract Facebook IDs
friends.id <- sapply(friends$data, function(x) x$id)
# extract names
friends.name <- sapply(friends$data, function(x) iconv(x$name,"UTF-8","ASCII//TRANSLIT"))
# short names to initials
@simecek
simecek / facebook_friendship2.r
Created January 18, 2012 11:33
Facebook Friendship Graph Continued
require(pixmap)
# download small profile picture of each friend
dir.create("photos")
for (i in 1:length(friends.id))
download.file(paste("http://graph.facebook.com", friends.id[i], "picture", sep="/"),
destfile=paste("photos/",friends.id[i],".jpg",sep=""))
system('for i in `ls photos/*.jpg`; do j=${i%.*}; convert $j.jpg $j.pnm; done', wait=TRUE)
# customized node plotting function
@simecek
simecek / facebook_mining.r
Created January 18, 2012 18:26
Facebook Mining
# go to 'https://developers.facebook.com/tools/explorer' to get your access token
access_token <- "******************* INPUT YOUR ACCESS TOKEN ******************************"
require(RCurl)
require(rjson)
# Facebook json function copied from original (Romain Francois) post
facebook <- function( path = "me", access_token, options){
if( !missing(options) ){
options <- sprintf( "?%s", paste( names(options), "=", unlist(options), collapse = "&", sep = "" ) )
@simecek
simecek / get.dropbox.folder.r
Created August 8, 2012 14:39
Get Dropbox Folder
get.dropbox.folder <- function() {
if (!require(RCurl)) stop ("You need to install RCurl package.")
if (Sys.info()["sysname"]!="Windows") stop("Currently, 'get.dropbox.folder' works for Windows only. Sorry.")
db.file <- paste(Sys.getenv('APPDATA'), '\\Dropbox\\host.db', sep='')
base64coded <- readLines(db.file, warn=FALSE)[2]
base64(base64coded, encode=FALSE)
}
@simecek
simecek / s3.r
Created May 7, 2013 15:39 — forked from hadley/s3.r
library(httr)
library(digest)
library(XML)
s3_request <- function(verb, bucket, path = "/", query = NULL,
content = NULL, date = NULL) {
list(
verb = verb,
bucket = bucket,
path = path,
@simecek
simecek / IMGC14_twitter_analysis.R
Last active August 29, 2015 14:08
Analysis of #IMGC14 tweets
library(twitteR)
library(tm)
library(wordcloud)
library(RColorBrewer)
library(dplyr)
library(ggplot2)
# load tweets
download.file("ftp://ftp.jax.org/petrs/other/IMGC14.rds", destfile = "IMGC14_tweets.rds", mode="wb")
tweet <- readRDS("IMGC14_tweets.rds")