R实战-第六章

浏览: 1333

以下是本人敲的全部代码并注释:

install.packages("vcd")#安装

library(vcd)#加载

counts<-table(Arthritis$Improved)#对improve计数

counts

barplot(counts,main="simple  bar plot",xlab="improvement",ylab="frequency")#主要标题

Clipboard Image.png

barplot(counts,main="horizontal bar plot",xlab="frequency",ylab="improvement",horiz=TRUE)#horiz=TRUE是水平条形图 是个选项

Clipboard Image.png

library(vcd)#加载包

counts<-table(Arthritis$Improved,Arthritis$Treatment)#分别表格化#注意大小写,R对大小写很严格,像这种的类似矩阵多些

counts

barplot(counts,main="stacked bar plot",xlab="treatment,",ylab="frequency",col=c("red","yellow","green"),legend=rownames(counts))#图例按行的名字

Clipboard Image.png

barplot(counts,main="grouped bar plot",xlab="treatment",ylab="frequency",col=c("red","yellow","green"),legend=rownames(counts),beside=TRUE)#beside=TRUE表示每一列是个分组,m每行的词是并列而不是分组

Clipboard Image.png

states<-data.frame(state.region,state.x77)

means<-aggregate(states$Illiteracy,by=list(state.region),FUN=mean)

means

means<-means[order(means$x),]#将X按从小到大排列,之所以用[]是因为里边的才是数据源

means

barplot(means$x,names.arg=means$Group.1)#arg是说标签,这里制定作为标签值

Clipboard Image.png

title("mean  illiteracy rate")#与barplot里边的main函数式等价

Clipboard Image.png

par(mar=c(5,9,6,5))#下 左 上 右 距离边距

par(las=3)#刻度值方向为垂直于坐标轴#标签平行当0

counts<-table(Arthritis$Improved)#这里是为了下一步创建条件

barplot(counts,main="treatment outcome",horiz=TRUE,cex.names=0.8,names.arg=c("no improvement",'some improvement','marked improvement'))#因为倒过来了条形图是Y轴,怎么顺序解决

Clipboard Image.png

par(mfrow=c(2,2))#把页面分成2*2作图,向量值的图形矩阵

hist(mtcars$mpg)#最简单的


hist(mtcars$mpg,breaks=12,col='red',xlab='miles per gallon',main='colored histogram  with 12 bins')#breaks=12 是说划分出12个组,标题,标签 颜色为红色的条形图

hist(mtcars$mpg,freq=FALSE,breaks=12,col='red',xlab='miles per  gallon',main='histogram,rug plot,density curve')#freq=FALSE根据概率密度绘图

rug(jitter(mtcars$mpg))#rug是轴须图的意思,表示密度用刻度,

lines(density(mtcars$mpg),col='blue',lwd=2)#在已有图上加图线,density生成核密度函数,这里是在已经存在的图形上叠加,如果在新建的话那就是plot

x<-mtcars$mpg#赋值

h<-hist(x,breaks=12,col="red",xlab="miles per gallon",main='histogram wiht normal curve and box')

xfit<-seq(min(x),max(x),length=40)

yfit<-dnorm(xfit,mean=mean(x),sd=sd(x))

yfit<-yfit*diff(h$mids[1:2])*length(x)

lines(xfit,yfit,col='blue',lwd=2)

box()#添加边框

Clipboard Image.png

dev.off()

par(mfrow=c(2,1))#创立2行1列图

d<-density(mtcars$mpg)#建立核密度

plot(d)#没写选项表示采用默认设置

Clipboard Image.png

d<-density(mtcars$mpg)

plot(d,main="kernel  density of  miles  per  gallon")#添加标题

Clipboard Image.png

polygon(d,col="red",border="blue")#曲线内填充颜色为红色,边界线 颜色为蓝色

Clipboard Image.png

rug(mtcars$mpg,col="brown")#添加轴须图颜色为棕色

Clipboard Image.png

boxplot(mtcars$mpg,main='box plot',ylab='mailes per gallon')

Clipboard Image.png

dev.list()

dev.cur()

dotchart(mtcars$mpg,labels=row.names(mtcars),cex=0.7,main="gas mileage for car models",xlab="miles per gallon")#labers是由向量值构成的 注意观察

Clipboard Image.png

x<-mtcars[order(mtcars$mpg),]#对车的距离按从小到大排序对整个数据集,保存到x#根据每加仑汽油行驶英里数(从最低到最高)对数据框mtcars进行排序,结果保存为数据框x

x$cyl <- factor(x$cyl)#cy1变成因子充编码 这里是l不是1 注意 犯错好几次了#将数值向量cyl转换为一个因子

x$color[x$cyl==4]<-"red"#数据框中cy如果等于4的话那整个颜色为红色

x$color[x$cyl==6]<-'blue'#添加一个字符型向量(color)到数据框x中,根据cy1的值,它所含的值为‘red’‘blue’‘darkgreen’

x$color[x$cyl==8]<-'darkgreen'

dotchart(x$mpg,labels=row.names(x),cex=.7,groups=x$cyl,gcolor="black",color=x$color,pch=19,main="gas mileage for car models\nagrouped by cylinder",xlab="miles per gallon")#数字4 6和8 以黑色显示这个是gcolor,点和标签的颜色是来自向量color,分组是根据气缸数量分组,各数据点的标签取自数据框的行名(车辆型号)

Clipboard Image.png

推荐 2
本文由 求知不才 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

小S这个自己研究做的效果嘛

要回复文章请先登录注册