完整R语言实战前三章图形初阶运行代码.docx
- 文档编号:25367125
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:18
- 大小:20.53KB
完整R语言实战前三章图形初阶运行代码.docx
《完整R语言实战前三章图形初阶运行代码.docx》由会员分享,可在线阅读,更多相关《完整R语言实战前三章图形初阶运行代码.docx(18页珍藏版)》请在冰豆网上搜索。
完整R语言实战前三章图形初阶运行代码
#管理R工作空间的函数
getwd()#显示当前的工作目录
setwd(mydirectory)#修改当前的的工作目录为mydirectory
ls()#列出当前工作空间中的对象
rm(objectlist)#移除(删除)一个或多个对象
help(options)#显示或设置当前选项
history(#)#显示最近使用过的#个命令(默认值为25)
savehistory(mylife)#保存命令历史到文件mylife中(默认值为.Rhistory)
loadhistory(mylife)#载入一个命令历史文件
save.image(mylife)#保存工作空间到文件mylife中(默认值为.RData)
save(objectlist,file=mylife)#保存指定对象到一个文件中
load(mylife)#读取一个工作空间到当前会话中(默认值为.RData)
q()#退出R,将会询问你是否保存工作空间
##保存图形输出的函数
bmp(
ilename.bmp)
jpeg(
ilename.jpeg)
pdf(
ilename.pdf)
png(
ilename.png)
postscript(
ilename.ps)
svg(
ilename.svg)
win.metafile(
ilename.wmf)
libPaths()#显示库所在的位置
library()#显示库中有哪些包
############################################################################
数据的输入
#1、使用键盘输入
{
mydata<-data.frame(age=numeric(0),gender=character(0),weight=numeric(0))
mydata<-edit(mydata)
}
#等价于
fix(mydata)
#直接在程序中嵌入数据集
mydatatxt<-
agegenderweight
25m166
30f115
18f120
{mydata<-read.table(header=T,text=mydatatxt)
mydata}
#2、从带分隔符的文本文件导入数据
#mydataframe<-read.table(file,options)
#函数read.table()的选项
#header表示是文件是否在第一行包含了变量名的逻辑型变量
#sep分开数据的分隔符。
默认是sep=\,表示一个或多个空格、制表符、换行或回车。
#敳?
?
,读取逗号分隔行内数据的文件。
敳?
屜瑜,读取制表符分隔行内数据的文件
#row.names用于指定一个或多个行标记符
#col.namesheader=FALSE时,可以用col.names去指定一个包含变量名的字符向量。
#如果header=FALSE以及col.names选项被省略,变量名为V1,V2
#na.strings用于表示缺失值的字符向量。
#na.strings=c(-9,?
)把-9和?
值在读取数据时转换成NA
#colClassescolClasses=c(
umeric,“numeric”,character,NULL,
umeric)
#quote用于对有特殊字符的字符串划定界限的字符串
#skip
#stringsAsFactors逻辑变量,标记处字符向量是否需要转化成因子。
默认值时TRUE,除非它被colClasses所覆盖。
#处理大型文本文件时,设置成stringsAsFactors=FALSE可以提升处理速度。
#3、导入excel数据
{
library(xlsx)
workbook<-c:
/myworkbook.xlsx
mydataframe<-read.xlsx(workbook,1)
}
#4、导入XML数据
library(XML)
#5、从网页抓取数据
#readLines()将网页上的文字下载到一个R的字符向量中
#grep()
#gsup()
#RCurl
#XML
#6、导入SPSS数据
#foreign包中的函数read.spss()
{
install.packages(Hmisc)
library(Hmisc)
mydataframe<-spss.get(mydata.sav,use..value.labels=TRUE#让函数将带有值标签的变量导入为R中水平对应相同的因子)
}
#7、导入SAS数据
#foreign包中的read.ssd()
#Hmisc包中的sas.get()安装了SAS情况下的好的选择
#sas7bdat包中的read.sas7bdat()
#8、导入Stata数据
{
library(foreign)
mydataframe<-read.dta(mydata.dta)
}
#9、导入NetCDF数据
#ncdf包
#ncdf4包
#10、导入HDF5数据
#rhdf5包
#11、访问数据库管理系统
{
install.packages(RODBC)
library(RODBC)
}
#RODBC中的函数
#odbcConnect(dsn,uid=\,pwd=\)#建立一个到ODBC数据库的连接
#sqlFetch(channel,sqltable)#读取ODBC数据库中的某个表到数据框中
#sqlQuery(channel,quuery)#向ODBC数据库提交一个查询并返回结果
##sqlSave(channel,mydf,tablename=sqltable,append=FALSE)#将数据框写入或更新到ODBC数据库的某个表中
#sqlDrop(channel,sqtable)#删除ODBC数据库中的某个表
#close(channel)#关闭连接
#####
#处理数据对象的实用函数
#length()
#dim()
#str()#显示某个对象的结构
显示某个对象的类型##class()
#mode()#显示对象的模式
##names()
#cbind()#按列合并对象rbind()
#head()#列出对象的开始部分tail()#列出对象的最后部分
#ls()#显示当前的对象列表
#rm(object,object,...)#删除一个或多个对象rm(list=ls())#删除当前工作环境中的几乎所有对象
#newobject<-edit(object)#编辑对象并另存为newobject
fix()#直接编辑对象
#################################################################
#图形参数
#pch=0#绘图符号0~25
#cex=1#绘图符号大小。
1.5放大为默认值的1.5倍
#lty=1#线条类型1~6
#lwd=1#线条宽度,默认为1,=2生成的线条宽度为默认宽度的2倍
#用于指定颜色的参数
#col=c(
ed,lue)#linespie可以接受含有颜色值的向量并自动循环
#col.axis#坐标轴刻度文字的颜色
#col.lab坐标轴标签颜色
#col.main
#col.sub
#fg#图形前景色
#bg#图形的背景色
#颜色向量函数:
rainbow(),heat.colors(),terrain.colors(),topo.colors(),cm.colors().
#RColorBrewer包
{
library(RColorBrewer)
n<-7
mycolors<-brewer.pal(n,Set1)
mycolors
barplot(rep(1,n),col=mycolors)
}
#若要得到所有可选调色板的列表,输入:
brewer.pal.info,或者输入:
display.brewer.all()
#多阶灰度色使用gray()
{
n<-10
mycolors<-rainbow(n)
mycolors
pie(rep(1,n),labels=mycolors,col=mycolors)
mygrays<-gray(0:
10/10)#生成10阶灰度色
mygrays
pie(rep(1,n),labels=mygrays,col=mygrays)
}
#文本属性
#指定文本大小的参数
#cex
#cex.axis坐标轴刻度文字的缩放倍数cex.labcex.maincex.sub
#指定字体族、字号、字样的参数
#font字体样式。
1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体
#font。
axisfont.labfont.mainfont.sub
#ps字体磅值。
文本的最终大小为ps*cex
#family绘制文本时使用的字体族。
标准的取值为serif(衬线),sans(无衬线),mono(等宽)
#举例说明
par(font.lab=3,cex.lab=1.5,font.main=4,cex.main=2)
windowsFonts(
A=windowsFont(ArialBlack)
B=windowsFont(BookkmanOldStyle)
C=windowsFont(ComicSansMS))
#图形尺寸和边界大小的参数
#pin以英寸表示的图形尺寸(宽和高)
#mai以数值向量标识的边界大小,顺序为“下,左,上,右”,单位为英寸
#mar以数值向量标识的边界大小,顺序为“下,左,上,右”,单位为英分
par(pin=c(4,3),mai=c(1,.5,1,.2))#生成一幅4英寸宽,3英寸高,上下边界为1英寸,左边界为0.5,右边界为0.2英寸的图形
{
dose<-c(20,30,40,45,60)
drugA<-c(16,20,27,40,60)
drugB<-c(15,18,25,31,40)
#par()设定图形参数对所有图都有效
opar<-par(no.readonly=TRUE)
par(pin=c(2,3))
par(lwd=2,cex=1.5)
par(cex.axis=.75,font.axis==3)#坐标轴刻度文本设置为斜体,缩小为默认大小的75%
plot(dose,drugA,type=,pch=19,lty=2,col=
ed)#红色实心圆圈和虚线
plot(dose,drugB,type=,pch=23,lty=6,col=lue,bg=green)#绿色填充的绿色菱形+蓝色边框和蓝色虚线
par(opar)
}
#添加文本、自定义坐标轴和图例
plot(dose,drugA,type=,pch=2,lty=2,col=
ed,lwd=2,
main=ClinicleTrialsforDrugA,
sub=Thisishypotheticaldata,
xlab=Dosage,ylab=DrugResponse,
xlim=c(0,60),ylim=c(0,70))
#标题
title(main=maintitle,sub=subtitle,
汸扡?
尠?
硡獩氠扡汥?
汹扡?
尠?
硡獩氠扡汥?
title(main=mytitle,col.main=
ed,
sub=mysubtitle,col.sub=lue,
xlab=myxlabel,ylab=myylabel,
col.lab=green,cex.lab=0.75)
{
#坐标轴
x<-c(1:
10)
y<-x
z<-10/x
opar<-par(no.readonly=TRUE)
#增加边界大小
par(mar=c(5,4,4,8)+0.1)
#绘制x对y的图形
plot(x,y,type=,
pch=21,col=
ed,
yaxt=
lty=3,ann=FALSE)
#添加x对1/x的直线
lines(x,z,type=,pch=22,col=lue,lty=2)
#绘制自己的坐标轴
axis(2,#1=下,2=左,3=上,4=右
at=x,#数值型向量,表示需要绘制刻度线的位置
labels=x,#字符型向量,表示刻度线旁边的文字标签(如为NULL,则将直接使用at中的值)
col.axis=
ed,
las=2)#标签是否平行于(=0)或垂直于(=2)坐标轴
axis(4,at=z,labels=round(z,digits=2),
col.axis=lue,las=2,cex.axis=0.7,tck=-.01#刻度线的长度,以相对于绘图区域大小的分数表示(负值在图形外侧,正值在图形内侧
#0表示禁用刻度,1表示绘制网格线)默认值为-0.01
)
#添加标题和文本
mtext(y=1/x,side=4,line=3,cex.lab=1,las=2,col=lue)
title(AnExampleofCreativeAxes,
xlab=Xvalues,
ylab=Y=X)
par(opar)
}
#创建次要刻度线
#需要使用Hmisc包中的minor.tick()函数
library(Hmisc)
#在X轴的每两条主刻度线之间添加1条次要刻度线,
#并在Y轴的每两条刻度线之间添加2条次要刻度线,
#次要刻度线时主要刻度线的一半
minor.tick(nx=2,ny=3,tick.ratio=0.5)
#在y轴的1,5,7位置添加水平实线
abline(h=c(1,5,7))
#在x为1,3,5,7,9的位置添加垂直的蓝色虚线
abline(v=seq(1,10,2),lty=2,col=lue)
#图例
{
dose<-c(20,30,40,45,60)
drugA<-c(16,20,27,40,60)
drugB<-c(15,18,25,31,40)
#par()设定图形参数对所有图都有效
opar<-par(no.readonly=TRUE)
par(lwd=2,cex=1.5,font.lab=2)
plot(dose,drugA,type=,pch=15,lty=1,col=
ed,
ylim=c(0,60),
main=DrugAvs.DrugB,
xlab=DrugDosage,ylab=DrugResponse)
lines(dose,drugB,type=,pch=17,lty=2,col=lue)
abline(h=c(30),lwd=1.5,lty=2,col=gray)
library(Hmisc)
minor.tick(nx=3,ny=3,tick.ratio=0.5)
legend(opleft,#bottom,bottomleft,left,topleft,top,topright,right,center,
inset=.05,#指定图例向图形内侧移动的大小(以绘图区域大小的分数表示)
title=DrugType,c(A,B),
lty=c(1,2),pch=c(15,17),col=c(
ed,lue))
par(opar)
}
#文本标注
text(location,exttoplace,pos,...)
mtext(exttoplace,side,line=n,...)
#location文本的位置参数,可为一对x,y坐标,
#pos文本相对于位置参数的方位:
1234,下左上右。
指定了pos就可以同时指定参数offset=作为位置偏移量,以相对于单个字符宽度的比例表示
#side指定用来放置文本的边。
可以指定参数line=来内移或外移文本,随着值的增加,文本将外移。
也可以使用adj=0将文本向左下对齐,=1向右上对齐
{
attach(mtcars)
plot(wt,mpg,
main=Mileagevs.CarWeight,
xlab=Weight,ylab=Mileage,
pch=18,col=lue)
text(wt,mpg,
row.names(mtcars),
cex=0.6,pos=4,col=
ed)
detach(mtcars)
}
{
#展示不同字体族
opar<-par(no.readonly=TRUE)
par(cex=1.5)
plot(1:
7,1:
7,type=
)
text(3,3,Exampleofdefaulttext)
text(4,4,family=mono,Exampleofmono-spacedtext)
text(5,5,family=serif,Exampleofseriftext)
par(opar)
}
#图形的组合
#12行2列按行填充的图形排列
attach(mtcars)
opar<-par(no.readonly=TRUE)
par(mfrow=c(2,2))
plot(wt,mpg,main=Scatterplotofetvs.mpg)
plot(wt,disp,main=Scatterplotofwtvs.disp)
hist(wt,main=Histogramofwt)
boxplot(wt,main=Boxplotofwt)
par(opar)
detach(mtcars)
#2三行一列图形排列
attach(mtcars)
opar<-par(no.readonly=TRUE)
par(mfrow=c(3,1))
hist(wt)#hist()为高级作图函数,包含一个默认的标题,使用main=\可以禁用它,也可以使用ann=FALSE禁用所有标题和标签
hist(mpg)
hist(disp)
par(opar)
detach(mtcars)
#3一幅图被置于第一行,另两幅图被置于第二行
attach(mtcars)
layout(matrix(c(1,1,2,3),2,2,byrow=TRUE))
hist(wt)
hist(mpg)
hist(disp)
detach(mtcars)
#4一幅图被置于第一行,另两幅图被置于第二行
#第一行中图形高度时第二行的1/2
#右下角图形的宽度是左下角图形宽度的1/3
attach(mtcars)
layout(matrix(c(1,1,2,3),2,2,byrow=TRUE),
widths=c(3,1),#各列宽度值组成一个向量
heights=c(1,2))#各行高度值组成一个向量
hist(wt)
hist(mpg)
hist(disp)
detach(mtcars)
#多幅图形布局的精细控制
opar<-par(no.readonly=TRUE)
#设置散点图
par(fig=c(0,0.8,0,0.8))
plot(mtcars$wt,mtcars$mpg,xlab=MilesPerGallon,ylab=CarWeight)
#在上方添加箱线图
par(fig=c(0,0.8,0.55,1),new=TRUE)
boxplot(mtcars$wt,horizontal=TRUE,axes=FALSE)
#在右侧添加箱线图
par(fig=c(0.65,1,0,0.8),new=TRUE)
boxplot(mtcars$mpg,axes=FALSE)
#添加标题
mtext(EnhancedScatterplot,side=3,outer=TRUE,line=-3)
par(opar)
##########################################
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 语言 实战 前三章 图形 运行 代码
![提示](https://static.bdocx.com/images/bang_tan.gif)