参数设置为:type="p"
时,得到的是点图(point)
n = 50
set.seed(0)
x = runif(n, min=-2, max=2)
y = x^3 + rnorm(n)
plot(x, y, type="p")
参数设置为:type="l"
时,得到的是线图(line)
plot(x, y, type="l")
注意,由于line图是按照参数点的顺序逐次连接,所以为使图不交叉,所以将x按序排列.
x = sort(x) #更改了x的定义
y = x^3 + rnorm(n)
#注:这里如果不改变y的定义也可以,但是不做改变,(x,y)之间的关系将被破坏.
#注:本题中不对y做同样的修改,则下面的题目也会对应破坏(x,y)之间的近似三次关系.
plot(x,y,type="l")
plot(x,y,cex=0.5,main="Shrunken points")
plot(x,y,cex=2,main="Expanded points")
plot(x,y,xlim=c(-1,1),ylim=c(-5,5),xlab="Trimmed x",ylab="Trimmed y")
x.trimmed <- x[(-1<x)&(x<1)]
y.trimmed <- y[(-1<x)&(x<1)]
plot(x.trimmed,y.trimmed)
plot(x,y,pch=c(1,16))
plot(x,y,pch=c(1,16,1,16),col=c("black","blue","black","red"))
x2 = sort(runif(n, min=-2, max=2))
y2 = x^2 + rnorm(n)
plot(x,y)
points(x2,y2,pch=16,col="blue")
plot(x,y)
points(x2,y2,pch=16,col="blue")
lines(x2,y2,col="red",lwd=2)
plot(x,y)
points(x2,y2,pch=16,col="blue")
lines(x2,y2,col="red",lwd=2)
legend("bottomright",legend=c("Cubic","Quadratic"), col=c("black","blue"),pch=c(1,16))
对比图:overlap.和答案相对比,理解2b提出的问题.
plot(x,y,main="overlap,仅作为对比")
rect(-2,qnorm(0.1),2,qnorm(0.9),col="gray")
答案:underneath
plot(x,y,col="white")
rect(-2,qnorm(0.1),2,qnorm(0.9),col="gray")
points(x,y)
plot(x,y,col="white")
bound.x <- c(x,rev(x))
bound.y <- c(lapply(x,function(a) a^3-qnorm(0.90)),lapply(rev(x),function(a) a^3+qnorm(0.90)))
polygon(bound.x,bound.y,col="gray")
points(x,y)
legend("bottomright",legend=c("Data","Confidence band"), col=c("black","gray"),pch=c(1,NA),lwd=c(NA,6),merge=TRUE)
image(volcano,col=terrain.colors(25))
实现矩阵的行和列都rev的例子
temp <- matrix(1:8,2,4,T)
temp
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 5 6 7 8
apply(temp,2,rev)#实现对temp的列的rev
## [,1] [,2] [,3] [,4]
## [1,] 5 6 7 8
## [2,] 1 2 3 4
t(apply(t(temp),2,rev))#实现对temp的行的rev
## [,1] [,2] [,3] [,4]
## [1,] 4 3 2 1
## [2,] 8 7 6 5
temp.rev <- t(apply(t(apply(temp,2,rev)), 2, rev))#实现行和列的rev
temp.rev
## [,1] [,2] [,3] [,4]
## [1,] 8 7 6 5
## [2,] 4 3 2 1
volcano.rev <- t(apply(t(apply(volcano,2,rev)), 2, rev))
clockwise90 = function(a) t(a[nrow(a):1,])
image(clockwise90(volcano.rev),col=terrain.colors(25),xlab="West –> East",ylab="South –> North",main="Heatmap of Maungawhau volcano")
clockwise90 = function(a) t(a[nrow(a):1,])
image(clockwise90(volcano.rev),col=terrain.colors(25),xlab="West –> East",ylab="South –> North",main="Heatmap of Maungawhau volcano")
contour(clockwise90(volcano.rev), add = TRUE)
filled.contour(clockwise90(volcano.rev),col=terrain.colors(25),xlab="West –> East",ylab="South –> North",main="Heatmap of Maungawhau volcano")
gm <- read.csv("gapminder-FiveYearData.csv", header = T)
library(ggplot2)
ggplot(data=gm,aes(x=gdpPercap,y=lifeExp,size=3,color=continent))+geom_point()+scale_x_log10()
ggplot(data=gm,aes(x=year,y=lifeExp))+geom_point()+labs(x="Year",y="Life expectancy")+geom_smooth()+facet_wrap(~ continent)+ggtitle("Figure 2")
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
gm1 <- subset(gm,continent!="Oceania")
ggplot(data=gm1,aes(x=year,y=lifeExp))+geom_point()+geom_line(aes(group=country),alpha=0.5)+geom_smooth(lwd=3,se=FALSE)+facet_wrap(~ continent)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
ggplot(data=gm,aes(x=continent,y=gdpPercap))+geom_jitter()
ggplot(data=gm,aes(x=continent,y=gdpPercap))+geom_boxplot()
ggplot(data=gm,aes(x=continent,y=gdpPercap))+geom_boxplot(outlier.color="red")+geom_jitter()+scale_y_log10()
注:默认生成的图尺度不合适,手动调整ylim(0,2)
ggplot(data=gm,aes(x=gdpPercap))+geom_density(aes(fill=continent))+facet_wrap(~year)+scale_x_log10()+ylim(0,2)
ggplot(data=subset(gm,year==2007),aes(x=continent))+geom_bar()+coord_flip()