百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

用R语言做数据分析——R语言的绘图命令

bigegpt 2024-08-16 14:15 2 浏览

利用绘图函数研究一直数据是一种直观、有效地方法。在R语言中、有两类左图函数,一类是高水平左图函数,即所有的绘图函数均可产生图形,可以有坐标轴、图和坐标轴的说明文字等;另一类是低水平作图函数,这类函数自身无法生成图形,只能在高水平左图函数产生的图形基础上增加新的图形。

高水平作图函数

高水平作图函数有plot()、pairs()、coplot()、qqnorm()、qqline()、hist()和contour()

plot()函数可绘制数据的散点图、曲线图等,它有四种格式:

  • plot(x,y):其中x、y是向量,生成y关于x的散点图;

  • plot(x):其中x是一时间序列,生成时间序列图形,如果x是向量,则生成x关于下标的散点图;

  • plot(f):f是因子,生成f的直方图;

  • plot(f,y):f是因子,y是向量,生成y关于f水平的箱线图。

  • plot(df)、plot(~expr)、plot(y~expr):其中df是数据框、y是任意一个对象,expr是对象名称的表达式;

例子:利用四种不同配方的材料A1、A2、A3、A4生产出来的元件,测得其使用寿命如下:绘出四种不同配方材料寿命的箱线图,并比较元件的使用寿命有无明显的差异?

>y<-c(1600,1610,1650,1680,1700,1700,1780,1500,1640,1400,1700,1750,1640,1550,1600,1620,1640,1600,1740,1800,1510,1520,1530,1570,1640,1600)

> f<-factor(c(rep(1,7),rep(2,5),rep(3,8),rep(4,6)))

> plot(f,y)

> Age<-c(13,13,14,12,12,15,11,15,14,14,14,15,12,13,12,16,12,11,15)

>Height<-c(56.5,65.3,64.3,56.3,59.8,66.5,51.3,62.5,62.8,69.0,63.5,67.0,57.3,62.5,59.0,72.0,64.8,57.5,66.5)

>Weight<-c(84.0,98.0,90.0,77.0,84.5,112.0,50.5,112.5,102.5,112.5,102.5,133.0,83.0,84.0,99.5,150.0,128.0,85.0,112.0)

> df<-data.frame(Age,Height,Weight)

> plot(df)

>#绘制身高和年龄的散点图

> plot(df$Age+df$Height)

>#绘制体重和年龄、体重和身高的散点图

>attach(df)

>plot(Weight~Age+Height)

R语言为显示多变量数据提供了两个非常有用的函数,一个是pair函数,另一个是coplot()函数。

  • pairs(x):其中x是矩阵或数据框时,绘制矩阵各列的散点图;

  • coplot(a~b|c)函数如果有三、四个变量时,可以将散点图画得更加详细,其中a、b是数值向量,c是向量或因子;

> pairs(df)

>coplot(Weight~Height | Age)

dotchart(x,....)构造数据x的点图,在点图中,y轴是数据x标记,x轴数据x的数值。

例如,R语言提供了弗吉尼亚州1940年人口死亡率的数据VADeaths:

>dotchart(VADeaths,main="Death Rates in Virginia - 1940")

> dotchart(t(VADeaths),main="Death Rates in Virginia - 1940")

image(x,y,z)

contour(x,y,z)

persp(x,y,z)

其中x、y是数值型向量,z是x、y对应的矩阵(z的行数是x的维数,z的列数是y的维数),image()绘制出三维图形的映像,contour()绘制出三维图形的等值线,persp()绘制出三维图形的表面曲线。

> x<-seq(0,2800,400)

> y<-seq(0,2400,400)

> z<-scan()

1: 1180 1320 1450 1420 1400 1300 700 900

9: 1230 1390 1500 1500 1400 900 1100 1060

17: 1270 1500 1200 1100 1350 1450 1200 1150

25: 1370 1500 1200 1100 1550 1600 1550 1380

33: 1460 1500 1550 1600 1550 1600 1600 1600

41: 1450 1480 1500 1550 1510 1430 1300 1200

49: 1430 1450 1470 1320 1280 1200 1080 940

> Z<-matrix(z,nrow = 8)

> contour(x,y,Z,levels = seq(min(z),max(z),by=80))

> persp(x,y,Z)

在高水平绘图函数中,可以加一些命令,不断完善图的内容,或者增加一些有用的说明。

add = TRUE 表示所绘图在原图上家兔,缺省值为add=FALSE,即新的图替换原图。

axes = FALSE表示所绘图形没有坐标轴,缺省值为axes = TRUE

log = "x"表示x轴的数据取对数,log="y"表示y轴的数据取对数,log="xy"表示x轴与y轴的数据同时取对数。

xlab是x轴的说明,ylab是y轴的说明,main是图的说明,sub是对子图的说明。

低水平作图函数

有时候高水平的作图函数并不能完全达到作图的指标,需要低水平的作图函数对图形予以补充。所有的低水平作图函数所作的图形必须是在高水平作图函数所绘图形的基础之上增加的新图形。

低水平作图函数有points()、lines()、text()、abline()、polygon()、legend()、title()和axis()等。

points()加点函数是在已有图上加点,points(x,y)其功能相当于plot(x,y)

lines()加线函数是在已有图上加线,lines(x,y)其功能相当于plot(x,y,type="l")

text(x,y,labels,...)的作用是在图上加标记,其中x、y是数据向量,labels是说明。

abline()的作用是在图上加直线,abline(a,b)表示画一条y=a+bx的直线;abline(h=y)表示画一条过所有点的水平直线;abline(v=y)表示画一条过所有点的竖直直线;abline(lm.obj)表示绘制线性模型得到的线性方程。

> w<-c(75.0,64.0,47.4,66.9,62.2,62.2,58.7,63.5,66.6,64.0,57.0,69.0,56.9,50.0,72.0)

> h<-c(56.5,65.3,64.3,56.3,59.8,66.5,51.3,62.5,62.8,69.063.5,67.0,57.3,62.5,59.0)

> plot(w,h)

> lm.sol<-lm(w~h)

> abline(lm.sol)

polygon(x,y)函数可以在以数据(x,y)为坐标,依次连接所有的点,绘制出一多边形。

title(main,sub)函数的作用是在图上加上标题,可以添加主标题或者子标题;

axis(side)表示在坐标轴上加标记、说明或其他内容,side=1表示所加内容放在图的底部,side=2表示所加内容放在图的左侧,side=3表示所加内容放在图的顶部,side=4表示所加内容放在图的右侧

相关推荐

了解Linux目录,那你就了解了一半的Linux系统

大到公司或者社群再小到个人要利用Linux来开发产品的人实在是多如牛毛,每个人都用自己的标准来配置文件或者设置目录,那么未来的Linux则就是一团乱麻,也对管理造成许多麻烦。后来,就有所谓的FHS(F...

Linux命令,这些操作要注意!(linux命令?)

刚玩Linux的人总觉得自己在演黑客电影,直到手滑输错命令把公司服务器删库,这才发现命令行根本不是随便乱用的,而是“生死簿”。今天直接上干货,告诉你哪些命令用好了封神!喜欢的一键三连,谢谢观众老爷!!...

Linux 命令速查手册:这 30 个高频指令,拯救 90% 的运维小白!

在Linux系统的世界里,命令行是强大的武器。对于运维小白而言,掌握一些高频使用的Linux命令,能极大提升工作效率,轻松应对各种系统管理任务。今天,就为大家奉上精心整理的30个Linu...

linux必学的60个命令(linux必学的20个命令)

以下是Linux必学的20个基础命令:1.cd:切换目录2.ls:列出文件和目录3.mkdir:创建目录4.rm:删除文件或目录5.cp:复制文件或目录6.mv:移动/重命名文件或目录7....

提高工作效率的--Linux常用命令,能够决解95%以上的问题

点击上方关注,第一时间接受干货转发,点赞,收藏,不如一次关注评论区第一条注意查看回复:Linux命令获取linux常用命令大全pdf+Linux命令行大全pdf为什么要学习Linux命令?1、因为Li...

15 个实用 Linux 命令(linux命令用法及举例)

Linux命令行是系统管理员、开发者和技术爱好者的强大工具。掌握实用命令不仅能提高效率,还能解锁Linux系统的无限潜力,本文将深入介绍15个实用Linux命令。ls-列出目录内容l...

Linux 常用命令集合(linux常用命令全集)

系统信息arch显示机器的处理器架构(1)uname-m显示机器的处理器架构(2)uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DM...

Linux的常用命令就是记不住,怎么办?

1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...

Linux常用文件操作命令(linux常用文件操作命令有哪些)

ls命令在Linux维护工作中,经常使用ls这个命令,这是最基本的命令,来写几条常用的ls命令。先来查看一下使用的ls版本#ls--versionls(GNUcoreutils)8.4...

Linux 常用命令(linux常用命令)

日志排查类操作命令查看日志cat/var/log/messages、tail-fxxx.log搜索关键词grep"error"xxx.log多条件过滤`grep-E&#...

简单粗暴收藏版:Linux常用命令大汇总

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部下午好,我的网工朋友在Linux系统中,命令行界面(CLI)是管理员和开发人员最常用的工具之一。通过命令行,用户可...

「Linux」linux常用基本命令(linux常用基本命令和用法)

Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。总结送免费学习资料(包含视频、技术学习路线图谱、文档等)1、显示日期的指令:d...

Linux的常用命令就是记不住,怎么办?于是推出了这套教程

1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...

Linux的30个常用命令汇总,运维大神必掌握技能!

以下是Linux系统中最常用的30个命令,精简版覆盖日常操作核心需求,适合快速掌握:一、文件/目录操作1.`ls`-列出目录内容`ls-l`(详细信息)|`ls-a`(显示隐藏文件)...

Linux/Unix 系统中非常常用的命令

Linux/Unix系统中非常常用的命令,它们是进行文件操作、文本处理、权限管理等任务的基础。下面是对这些命令的简要说明:**文件操作类:*****`ls`(list):**列出目录内容,显...