Skip to content

Instantly share code, notes, and snippets.

View GuangchuangYu's full-sized avatar
🎯
Focusing

Guangchuang Yu GuangchuangYu

🎯
Focusing
View GitHub Profile
@GuangchuangYu
GuangchuangYu / violin_plot.R
Created February 8, 2012 03:51
generate violin plot using ggplot2
p <- ggplot(mtcars, aes(factor(cyl),mpg,
fill=factor(cyl),
colour=factor(cyl)))
p1 <- p+geom_violin(alpha=0.3, width=0.5) +
geom_boxplot(width=0.2, outlier.colour=NA)
p2 <- p+geom_violin(alpha=0.3, width=0.5) +
geom_dotplot(binaxis='y', stackdir='center', dotsize=0.5)
@GuangchuangYu
GuangchuangYu / fibonacci.R
Created February 9, 2012 05:32
calculating fibonacci number
fibonacci <- function(n) {
u <- (1+sqrt(5))/2
(u^n - (1-u)^n) / sqrt(5)
}
@GuangchuangYu
GuangchuangYu / valetine.R
Created February 14, 2012 05:38
generate heart plot for valentine's day
require(ggplot2)
t <- seq(0,2*pi, by=0.1)
x <- 16*sin(t)^3
y <- 13*cos(t) - 5*cos(2*t) - 2*cos(3*t) - cos(4*t)
d <- data.frame(x=x,y=y, f=0)
a <- x
b <- y
@GuangchuangYu
GuangchuangYu / jiong.R
Created February 17, 2012 09:13
draw chinese character Jiong using ggplot2
f <- function(x) 1/(x^2-1)
x <- seq(-3,3, by=0.001)
y <- f(x)
d <- data.frame(x=x,y=y)
p <- ggplot()
p <- p+geom_rect(fill = "white",color="black",size=3,
aes(NULL, NULL,xmin=-3, xmax=3,
ymin=-3,ymax=3, alpha=0.1))
@GuangchuangYu
GuangchuangYu / Antithetic_variates.R
Created February 29, 2012 06:40
The antithetic variates method is a variance reduction technique used in Monte Carlo methods.
## Antithetic sampling reframes our estimate as a sum of negatively
## correlated random variables, using the fact that negative
## correlation reduces the variance of a sum.
## http://en.wikipedia.org/wiki/Antithetic_variates
g <- function(x) 1/(1+x)
N <- 1500
n <- 50
u1 <- matrix(runif(2 * n * N), ncol = n)
@GuangchuangYu
GuangchuangYu / qqplot.R
Created April 23, 2012 08:37
quantile quantile plot
## http://ygc.name/2011/08/02/q-q-plots/
qqplot <- function(y, distribution=qnorm) {
x <- distribution(ppoints(y))
plot(x, sort(y),
xlab="Theoretical Quantiles",
ylab="Sample Quantiles",
main="Normal Q-Q Plot"
)
lines(y,y)
@GuangchuangYu
GuangchuangYu / point_in_circle.R
Created April 28, 2012 04:34
get points within a circle
set.seed(123)
x <- rnorm(100)
y <- rnorm(100)
points.df <- data.frame(x=x,y=y)
center <- c(0.2, 0.3)
diameter <- 2
d <- apply(points.df, 1, function(x) x-center)
@GuangchuangYu
GuangchuangYu / bootstrapEnrichment.R
Created May 2, 2012 02:28
bootstrap method for enrichment analysis
# http://ygc.name/2012/04/29/bootstrap-for-enrichment-analysis/
goboot <- cmpfun(function(goid,
sampleSize,
nboot=1000) {
ratio <- rep(0, nboot)
allgene <- unique(mappedkeys(org.Hs.egGO))
allgeneInCategory <- unique(get(goid, org.Hs.egGO2ALLEGS))
x <- read.csv("/Volumes/YGC/Researches/ARCHIVE/Others/AL-1-by-GR.Yan/2D-data-and-analysis-result/2D.csv")
eg <- as.character(x[,1])
require(clusterProfiler)
xx <- enrichGO(eg, ont="BP")
gg <- xx@geneInCategory
names(gg) <- clusterProfiler:::TERM2NAME.BP(names(gg))
g <- gg[1:4]
require(gplots)
vm <- venn(g)
## http://ygc.name/2012/05/29/t-test/
p1 <- rnorm(1000)
p2 <- rnorm(1000, sd=3)
hist(p2, col="green", xlab="", main="")
hist(p1, col="red", add=T)
legend(legend=c("sd=1", "sd=3"), fill=c("green", "red"), x="topright")