zoukankan      html  css  js  c++  java
  • R in action读书笔记(4)-第六章:基本图形(下)

    6.3直方图

       hist()

    其中的x是一个由数据值组成的数值向量。参数freq=FALSE表示根据概率密度而不是频数绘制图形。参数breaks用于控制组的数量。在定义直方图中的单元时,默认将生成等距切分。

    par(mfrow=c(2,2))

    hist(mtcars$mpg)#简单直方图

    hist(mtcars$mpg#指定组数和颜色

            breaks=12

            col="red"

            xlab="Miles Per Gallon"

            main="Colored histogram wi七h 12 bins

    hist(mtcars$mpg#添加轴须图

            freq=FALSE,

            breaks=12

            col=”red"

            xlab="Miles Per Gallon"

          main="His七ogram, rug plo七,densi七y curve"

    rug(jitter(mtcars$mpg))

    lines(density(mtcars字mpg),col="blue",lwd=2)

     

    x<一mtcars$mpg#添加正态密度曲线和外框

    h<-hist(x,

                breaks=12

                col=”red"

                xlab="Mfiles Per Gallon"

                main="Histogramwith 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()

     

    6.4核密度图

    核密度估计是用于估计随机变量概率密度函数的一种非参数方法。绘制密度图的方法(不叠加到另一幅图上方)为: plot(density(x)) 其中的x是一个数值型向量。

    par(mfrow=c(2,1))

    d<一density(mtcars$mpg)

    plot(d)

    d<一density(mtcars$mpg)

    plot(d, main=”Kernel Density of Miles Per Gallon"

    polygon(d, col=”red",border="blue”)# polygon()函数根据顶点的x和y坐标(本例中由density()函数提供)绘制了多边形。

    rug(mtcars$mpg, col=”brown”)

     

    使用sm包中的sm.density.compare()函数可向图形叠加两组或更多的核密度图。使用格式为:

    sm .density .compare(x, factor)

    其中的x是一个数值型向量,factor是一个分组变量。

    par(lwd=2)# 双倍线条宽度

    library(sm)

    attach(mtcars)

    cyl.f<-factor(cyl,levels=c(4,6,8),labels=c("4 cylinder","6 cylinder","8 cylinder"))#创建分组因子

    sm .density .compare(mpg, cyl,xlab=”Miles Per Gallon”)# 绘制密度图

    title(main="MPG Distribution by Car Cylinders”)

    colfill<-c(2:(1+length(levels(cyl.f)))) #通过鼠标单击添加图例

    legend(locator(1),levels(cyl .f),fill=colfill)

    detach(mtcars)

     

    6.5箱线图

    箱线图(又称盒须图)通过绘制连续型变量的五数总括,即最小值、下四分位数(第25百分

    位数)、中位数(第50百分位数)、上四分位数(第75百分位数)以及最大值,描述了连续型变量

    的分布。箱线图能够显示出可能为离群点(范围±1.5*IQR以外的值,IQR表示四分位距,即上

    四分位数与下四分位数的差值)的观测。例如:

    boxplot(mtcars$mpg,main=”box plot”,ylab=”miles per gallon”)

     

    6.5.1使用并列箱线图进行跨组比较

    箱线图可以展示单个变量或分组变量。使用格式为:

    boxplot(formula,data=data framel)

    其中的formula是一个公式,dataframe代表提供数据的数据框(或列表)。一个示例公式为y ~

    A,这将为类别型变量A的每个值并列地生成数值型变量y的箱线图。公式y ~ A*B则将为类别型

    变量A和B所有水平的两两组合生成数值型变量y的箱线图。添加参数varwidth=TRUE 将使箱线图的宽度与其样本大小的平方根成正比。参数horizontal=TRUE可以反转坐标轴的方向。

    boxplot(mpg~cyl,data=mtcars,main="Car mileage data",xlab="number of cylinders",ylab="miles per gallon")

     

    箱线图灵活多变,通过添加notch=TRUE,可以得到含凹槽的箱线图。若两个箱的凹槽互不

    重叠,则表明它们的中位数有显著差异

    boxplot(mpg~cyl,data=mtcars,notch=TRUE,varwidth=TRUE,col="red",main="Car Mileage Data",xlab="Number of Cylinders",ylab="Miles Per Gallon")

     

    两个交叉因子的箱线图:

    mtcars$cyl.f<-factor(mtcars$cyl,levels=c(4,6,8),labels=c("4","6","8"))#创建汽缸数量的因子

    mtcars$am.f<-factor(mtcars$am,levels=c(0,1),labels=c("auto","standard"))#创建变速箱类型的因子

    boxplot(mpg~am.f*cyl.f,data=mtcars,varwidth=TRUE,col=c("gold","darkgreen"),main="MPG Distribution by Auto Type",xlab="Auto Type")#生成箱线图

     

    6.5.2小提琴图

    小提琴图是箱线图与核密度图的结合。你可以使用vioplot包中的vioplot()函数绘制它。

    >x1<-mtcars$mpg[mtcars$cyl==4]

    > x2<-mtcars$mpg[mtcars$cyl==6]

    > x3<-mtcars$mpg[mtcars$cyl==8]

    > vioplot(x1,x2,x3,names=c("4 cyl","6 cyl","8 cly"),col="gold")

    > title("violin plots of miles per gallon")

     

    6.6点图

    点图提供了一种在简单水平刻度上绘制大量有标签值的方法。你可以使用dotchart()函数创建点图,格式为:dotchart(x,labels=)其中的x是一个数值向量,而labels则是由每个点的标签组成的向量。你可以通过添加参数groups来选定一个因子,用以指定x中元素的分组方式。如果这样做,则参数gcolor可以控制不同组标签的颜色,cex可控制标签的大小。

    dotchart(mtcars$mpg,labels=row.names(mtcars),cex=0.7,main="gas mileage for car nolels",xlab="miles per gallon")

     

    分组、排序、着色后的点图

    > x<-mtcars[order(mtcars$mpg),]

    > x$cyl<-factor(x$cyl)

    > x$color[x$cyl==4]<-"red"

    > x$color[x$cyl==6]<-"blue"

    > 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 fo car models grouped by cylinder",xlab="miles per gallon")

     

  • 相关阅读:
    zabbix系列 ~ mongo监控相关
    zabbix系列 ~ 自动监控多实例功能
    mysql 查询优化 ~ 多表查询改写思路
    MGR架构~高可用架构细节的梳理
    mysql 半同步复制~ 整体概述与改进
    android 单独编译某个模块
    Nginx使用
    21天学通C++学习笔记(九):类和对象
    1. 个人经验总结
    C++视频教程学习笔记
  • 原文地址:https://www.cnblogs.com/jpld/p/4437577.html
Copyright © 2011-2022 走看看