Skip to content

Instantly share code, notes, and snippets.

View dgrapov's full-sized avatar

Dmitry Grapov dgrapov

View GitHub Profile
@dgrapov
dgrapov / replace_in.R
Created April 6, 2018 02:07
Deep error
> in
Error: unexpected 'in' in "in"
@dgrapov
dgrapov / pca.R
Created March 24, 2018 03:09
basic principal components analysis and visualization in R
# Basic PCA example
# use www.createdatasol.com for
# an advanced user interface
#required packages for plotting
library(ggplot2)
library(ggrepel)
#load data
data<-read.csv('~/Sampledata.csv',
#needed packages
library(andrews)
library(ggplot2)
#get some data here I use "mtcars"
data<-mtcars
fct<-as.factor(mtcars$cyl) # factor for intial grouping
#get andrews encoding (x and y coords)
@dgrapov
dgrapov / tanimoto.R
Created January 10, 2018 21:53
fast (?) implementations of tanimoto distance calculations
#' @title fast_tanimoto
#' @param mat matrix or data frame of numeric values
#' @param output 'matrix' (default) or 'edge list' (non-redundant and undirected)
#' @param progress TRUE, show progress
#' @imports reshape2
fast_tanimoto<-function(mat,output='matrix',progress=TRUE){
mat[is.na(mat)]<-0
#scoring function
score<-function(x){sum(x==2)/sum(x>0)}
@dgrapov
dgrapov / server.r
Last active October 24, 2016 12:43
Testing Shiny input text area. Based on http://stackoverflow.com/questions/14452465/how-to-create-textarea-as-input-in-a-shiny-webapp-in-r. Need to put .js in www folder.
shinyServer(function(input, output, session) {
inputTextarea <- function(inputId, value="", nrows, ncols) {
tagList(
singleton(tags$head(tags$script(src = "textarea.js"))),
tags$textarea(id = inputId,
class = "inputtextarea",
rows = nrows,
cols = ncols,
as.character(value))
)
@dgrapov
dgrapov / Data Summaries and Tests
Created November 12, 2013 17:13
Example of data summary tools.
#demonstration of data summary tools
#enable necessary functions
source("http://pastebin.com/raw.php?i=JVyTrYRD")
#get demo data
library(RCurl)
url<-getURL("https://docs.google.com/spreadsheet/pub?key=0Ap1AEMfo-fh9dGFHRk81cVJaMTIxUjQzSlo2RS1RZXc&single=true&gid=0&output=csv",ssl.verifypeer = FALSE)
tmp.data<-read.csv(textConnection(url))
#Prepare to generate data summaries and conduct statitcal tests
@dgrapov
dgrapov / server.R
Last active December 20, 2015 14:39
compare skewed to normal distrubution
shinyServer(function(input,output){
mydat <- reactive(function() {
scale(rsnorm(input$obs, location = input$mean, scale =input$variance,
shape = input$skew),center=TRUE,scale=TRUE)
})
ndat <- reactive(function() {
scale(rnorm(input$obs, mean = input$mean, sd =input$variance),center=TRUE, scale=TRUE)
})
@dgrapov
dgrapov / server.R
Last active December 20, 2015 14:29 — forked from jknowles/server.R
# Script to demonstrate distributions
library(VGAM)
library(eeptools)
library(shiny)
library(ggplot2)
shinyServer(function(input,output){
@dgrapov
dgrapov / query PubMed
Last active December 19, 2015 00:48
Check for key word in PubMed article titles
#Check pubmed article titles for a given year for a keyword (using partial matching).
library(XML)
library(stringr)
#get PubMed Ids for all journals for a given year
getPubMedIds<-function(year=2013, max=100){
#max = maximum results to return
url<-paste0("http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=",year,"[PDAT]&RetMax=",max)
KTVPXOYAKDPRHY-SOOFDHNKSA-N AAAFZMYJJHWUPN-TXICZTDVSA-N main RP01256
PQGCEDQWHSBAJP-TXICZTDVSA-N AAAFZMYJJHWUPN-TXICZTDVSA-N main RP10961
YXJDFQJKERBOBM-TXICZTDVSA-N AAAFZMYJJHWUPN-TXICZTDVSA-N trans RP11184
ZKHQWZAMYRWXGA-KQYNXXCUSA-N AAAFZMYJJHWUPN-TXICZTDVSA-N trans RP06423
RWKJTIHNYSIIHW-MEBVTJQTSA-N AAJODOMQIUQTFG-XAICKWAHSA-N main RP12160
RTPWRCREAVUAOI-CGJPUGKVSA-N AAKIIQMDPGWYFD-FFZYTXIOSA-N main RP11883
XLYOFNOQVPJJNP-UHFFFAOYSA-N AAKIIQMDPGWYFD-FFZYTXIOSA-N leave RP09015
XLYOFNOQVPJJNP-UHFFFAOYSA-N AAMCJNYIOAHDFN-BCCCWXECSA-N leave RP09666
AUFGTPPARQZWDO-YUZLPWPTSA-N ABCOOORLYAOBOZ-KQYNXXCUSA-N trans RP08184
BDAGIHXWWSANSR-UHFFFAOYSA-N ABCOOORLYAOBOZ-KQYNXXCUSA-N main RP10097