Zhiguang Huo (Caleb)
Monday September 18, 2017
R is powerful to visualize your data.
n <- 80
set.seed(32611)
x <- sort(runif(n, min = 0, max=2*pi))
y <- sin(x) + rnorm(n, mean = 0, sd = 0.2)
plot(x,y)
plot(x,y, type="p") ## default is "p"
plot(x,y, type="l")
plot(x,y, type="b")
plot(x,y, type="o")
plot(x,y, type="n")
plot(x,y, main="sin function with Gaussian noise") # default xlab and ylab are the variable names of the arguments
plot(1:10, type="n", xlab="X", ylab="Y")
text(5.5, 9, "expression(y==alpha[1]*x+alpha[2]*x^2)", cex=1.5)
text(5.5, 8, expression(y==alpha[1]*x+alpha[2]*x^2), cex=1.5)
theta = 3
text(5.5, 6, "theta=3; bquote(hat(theta)==.(theta))", cex=1.5)
text(5.5, 5, bquote(hat(theta)==.(theta)), cex=1.5)
plot(x,y, main="sin function with Gaussian noise",
xlab="x axis", ylab="y axis")
plot(x,y, main="sin function with Gaussian noise",
xlab="x axis", ylab="y axis",
cex=2, cex.axis=2, cex.lab=2, cex.main=2, cex.sub=2)
plot(1:25,1:25,pch=1:25)
plot(x,y, pch=19)
n <- 80
set.seed(32611)
x <- sort(runif(n, min = 0, max=2*pi))
y1 <- sin(x) + rnorm(n, mean = 0, sd = 0.2)
y2 <- cos(x) + rnorm(n, mean = 0, sd = 0.2)
par(mfrow=c(1,2))
plot(x,y1, main="sin plot")
plot(x,y2, main="cos plot")
par(mfrow=c(2,2))
plot(x,y, type="l",lwd=1)
plot(x,y, type="l",lwd=2)
plot(x,y, type="l",lwd=3)
plot(x,y, type="l",lwd=4)
plot(1:8,1:8, col=1:8)
par(mfrow=c(2,2))
plot(x,y, main = "black color") ## default is black
plot(x,y, main = "blue color", col=4) ## basic color option 1:8
plot(x,y, main = "green color", col='green') ## find colors from colors()
plot(x,y, main = "red color", col='#FF0000') ## RGB mode
n <- 10
par(mfrow=c(2,3))
plot(1:n,1:n, col=rainbow(n), main = "rainbow")
plot(1:n,1:n, col=heat.colors(n), main = "heat.colors")
plot(1:n,1:n, col=terrain.colors(n), main = "terrain.colors")
plot(1:n,1:n, col=topo.colors(n), main = "topo.colors")
plot(1:n,1:n, col=cm.colors(n), main = "cm.colors")
letters[1:10] ## letters contain a-z
## [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
plot(x=1:10, y=1:10, type="n", main = "some texts")
text(x = 1:10, y=1:10, labels = letters[1:10])
curve(sin, from = 0, to = 2*pi)
chippy <- function(x) sin(cos(x)*exp(-x/2))
curve(chippy, -8, 7, n = 2001) # n specify number of points used to draw the curve, default n = 101
curve(sin, 0, 2*pi, col=2)
curve(cos, 0, 2*pi, col=4, add=T) ## add=T to overlay a new curve on top of the original figure
legend("bottomleft", legend = c("sin", "cos"), col = c(2,4),lty = 1)
par(mar=c(1,2,3,4)) # bottem, left, top, right order, inner margin
plot(x, y, main="Red sin", pch=20, col="red")
par(oma = c(4,3,2,1), mar=c(1,2,3,4)) # bottem, left, top, right order, inner margin and outer margin
plot(x, y, main="Red sin", pch=20, col="red")
pdf("sinFunction.pdf")
n <- 80
set.seed(32611)
x <- sort(runif(n, min = 0, max=2*pi))
y <- sin(x) + rnorm(n, mean = 0, sd = 0.2)
plot(x,y)
dev.off()
## quartz_off_screen
## 2
data(iris)
head(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
str(iris)
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
boxplot(Petal.Length ~ Species, data = iris)
names(iris)
## [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width"
## [5] "Species"
par(mfrow = c(2,2))
for(i in 1:4){
aname <- names(iris)[i]
boxplot(iris[[i]] ~ iris$Species, xlab="Species", col=i, ylab=aname, main=aname)
}
par(mfrow=c(2,2))
hist(iris$Petal.Length)
hist(iris$Petal.Length, nclass=50)
hist(iris$Petal.Length, prob=TRUE, col="grey")
lines(density(iris$Petal.Length), col="blue")
par(mfrow = c(2,2))
xlims <- range(iris$Petal.Length)
uniqueSpecies <- levels(iris$Species)
for(i in 1:3){
aspecies <- uniqueSpecies[i]
sampleSelection <- iris$Species==aspecies
adata <- iris$Petal.Length[sampleSelection]
hist(adata, col=i, xlim=xlims, xlab="petal length",main=aspecies)
}
x <- y <- seq(-1, 1, len=25)
z <- outer(x, y, FUN=function(x,y) -x*y*exp(-x^2-y^2))
# Contour plots
contour(x,y,z, main="Contour Plot")
filled.contour(x,y,z, main="Filled Contour Plot")
filled.contour(x,y,z, color.palette = heat.colors)
filled.contour(x,y,z, color.palette = colorRampPalette(c("red", "white", "blue")))
matrix <- as.matrix(iris[,1:4])
image(matrix)
heatmap(matrix)
knitr::purl("Rgraph_basic.rmd", output = "Rgraph_basic.R ", documentation = 2)
##
##
## processing file: Rgraph_basic.rmd
##
|
| | 0%
|
|. | 2%
|
|.. | 3%
|
|... | 5%
|
|.... | 6%
|
|..... | 8%
|
|...... | 9%
|
|....... | 11%
|
|........ | 12%
|
|......... | 14%
|
|.......... | 15%
|
|........... | 17%
|
|............ | 18%
|
|............. | 20%
|
|.............. | 21%
|
|............... | 23%
|
|................ | 24%
|
|................. | 26%
|
|.................. | 27%
|
|................... | 29%
|
|.................... | 30%
|
|..................... | 32%
|
|...................... | 33%
|
|....................... | 35%
|
|........................ | 36%
|
|......................... | 38%
|
|.......................... | 39%
|
|........................... | 41%
|
|............................ | 42%
|
|............................. | 44%
|
|.............................. | 45%
|
|............................... | 47%
|
|................................ | 48%
|
|................................ | 50%
|
|................................. | 52%
|
|.................................. | 53%
|
|................................... | 55%
|
|.................................... | 56%
|
|..................................... | 58%
|
|...................................... | 59%
|
|....................................... | 61%
|
|........................................ | 62%
|
|......................................... | 64%
|
|.......................................... | 65%
|
|........................................... | 67%
|
|............................................ | 68%
|
|............................................. | 70%
|
|.............................................. | 71%
|
|............................................... | 73%
|
|................................................ | 74%
|
|................................................. | 76%
|
|.................................................. | 77%
|
|................................................... | 79%
|
|.................................................... | 80%
|
|..................................................... | 82%
|
|...................................................... | 83%
|
|....................................................... | 85%
|
|........................................................ | 86%
|
|......................................................... | 88%
|
|.......................................................... | 89%
|
|........................................................... | 91%
|
|............................................................ | 92%
|
|............................................................. | 94%
|
|.............................................................. | 95%
|
|............................................................... | 97%
|
|................................................................ | 98%
|
|.................................................................| 100%
## output file: Rgraph_basic.R
## [1] "Rgraph_basic.R "