当前位置:网站首页 > R语言数据分析 > 正文

常见的r语言数据分析_数据图形

我们学习了各种各样的图形,它们大部分都是利用R语言的基础图形系统创建的。在R语言中,除了基础图形系统之外,R语言还提供了grid、lattice和ggplot2这三种图形系统,它们克服了R基础图形系统的低效性,大大扩展了的R语言的绘图能力。

grid图形系统可以很轻松地控制图形基础单元,给予编程者创作图形极大的灵活性。lattice包通过一维、二维或三维条件绘图来对多元变量关系进行直观展示。ggplot2包则基于一种全面的图形语法,提供了一种全新的图形创建方式。因为grid没有提供生成统计图形以及完整绘图的函数,因此数据分析师很少直接采用grid包来分析数据。这里重点介绍latticeggplot2图形系统。

四种图形系统的载入方式有所不同,基础图形函数可以自动调用,grid和lattice函数的调用必须要加载相应的包(library(lattice)),要调用ggplot2函数需要下载并安装该包(install.packages("ggplot2")),第一次使用还要引入加载该包(library(ggplot2))。

lattice包为单变量和多变量数据的可视化提供了一个全面的图形系统,它可以轻松生成栅栏图形。

在一个或多个其他变量的条件下,栅栏图形展示某个变量的分布或与其他变量间的关系。lattice包中singer数据集包含了合唱成员的身高和声部数据,让我们考虑以下问题:纽约合唱团歌手的身高随着他们所属的声部如何变化?来看以下代码:

> library(lattice)

> histogram(~height|voice.part, data=singer,main="Distribution of Heights by Voice Pitch", xlab="Height (inches)")

height是因变量,voice.part被称作条件变量,这段代码对八个声部的每一个都创建了一个直方图。图形显示了男高音和男低音比女低音和女高音身高要高。

在栅栏图形中,单个面板要依据条件变量的各个水平来创建。如果指定了多个条件变量,那么一个面板将按照各个因子水平的组合来创建。然后面板将被排成一个阵列以进行比较。每个面板在一个区域都会有一个标签,这里的区域称作条带区域。随后我们可以看到,用户可对每个面板中展示的图形、条带的格式和位置、面板的摆放、图例的内容和位置以及其他许多图形特征进行控制。

lattice包提供了丰富的函数,可生成单变量图形(点图、核密度图、直方图、柱状图和箱线图)、双变量图形(散点图、带状图和平行箱线图)和多变量图形(三维图和散点图矩阵)。

各种高级绘图函数都服从以下格式:

graph_function(formula, data=, options)

  • graph_function为图形类型函数;
  • formula指定要展示的变量和条件变量;
  • data指定一个数据框;
  • options是逗号分隔函数,用来修改图形的内容、摆放方式和标准。

lattice包中常见的图形类型函数如下:

lattice包中图形函数常见的配置选项如下:

设小写字母代表数值型变量,大写字母代表类别型变量(因子)。在高级绘图函数中,表达式形式通常为:

y ~ x | A * B

在竖线左边的变量称为主要变量,右边的变量称为条件变量。主要变量将变量映射到每个面板的坐标轴上,此处,y ~ x表示变量分别映射到纵轴和横轴上。对于单变量绘图,用~x代替y ~ x即可;对于三维图形,用z ~ x*y代替y ~ x,而对于多变量绘图(散点图矩阵或平行坐标图)用一个数据框代替y ~ x即可。注意,条件变量总是可以自行挑选的。

根据上述逻辑, ~ x | A即展示因子A各个水平下水平下数值型变量x的分布情况; y ~ x | A*B即展示因子A和B各个水平下组合下数值型变量x和y间的关系。而A ~ x则表示类别型变量A在纵轴上,数值型变量x在横轴上进行展示。 ~ x表示仅展示数值型变量x。

下面以数据框mtcar为例,我们使用以下代码进行lattice图形的绘制:

library(lattice)

attach(mtcars)

gear <- factor(gear, levels = c(3,4,5),labels = c("3 gears", "4 gears", "5 gears"))

cyl <- factor(cyl, levels = c(4,6,8), labels = c("4 cylinders","6 cylinders","8 cylinders"))

densityplot(~mpg,main="Density Plot", xlab = "Miles per Gallon")

densityplot(~mpg | cyl,main="Density Plot", xlab = "Miles per Gallon")

xyplot(mpg ~ wt | cyl * gear, main="Scatter Plots by Cylinders and Gears",xlab = "Car Weight",ylab = "Miles per Gallon")

cloud(mpg~wt*qsec | cyl, main="3D Scatter Plots by Cylinders")

dotplot(cyl ~ mpg | gear, main="Dot Plots by Number of Gears and Cylinders", xlab="Miles Per Gallon")

splom(mtcars[c(1,3,4,5,6)], main="Scatter Plot Matrix for mtcars Data")

detach(mtcars)

我们可以存储和操作lattice包中的高级绘图函数生成的图形。来看下列代码:

library(lattice)

mygraph <- densityplot(~height | voice.part, data=singer)

plot(mygraph)

它创建了一个栅栏密度图,并存储在mygraph对象中。但是此时不会展示任何图形,只有调用plot(mygraph)或(mygraph)时才会展示图形。

plot(mygraph)

我们可以通过options轻松地修改lattice图形对象,另外还可以使用update()函数来修改lattice对象,例如:

update(mygraph, col="red", pch=16, cex=.8, jitter=.05, lwd=2)

到此这篇常见的r语言数据分析_数据图形的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • R语言3种数据分析方法,搬好板凳,记笔记了!2024-11-06 23:50:06
  • 用R语言做数据分析——处理和识别缺失值2024-11-06 23:50:06
  • r语言的数据分析和统计_r语言多元线性回归分析2024-11-06 23:50:06
  • r语言差异分析_R语言分析不同种类的特征和差异性2024-11-06 23:50:06
  • 孟德尔随机化工具变量_r语言数据分析案例2024-11-06 23:50:06
  • r 语言用于数据分析_数据分析的应用领域2024-11-06 23:50:06
  • r语言建立线性模型_函数的线性化怎么求2024-11-06 23:50:06
  • 孟德尔随机化f统计量怎么算_孟德尔随机化多效性检验2024-11-06 23:50:06
  • R语言数据质量分析_r语言数据分析报告2024-11-06 23:50:06
  • r语言数据分析案例报告_数据分析语言2024-11-06 23:50:06
  • 全屏图片