美文网首页R语言学习
R008 基本图形-核密度图plot(density())

R008 基本图形-核密度图plot(density())

作者: caoqiansheng | 来源:发表于2020-08-13 00:00 被阅读0次

    核密度估计是用于估计随机变量概率密度函数的一种非参数方法,是一种用来观察连续型变量分布的有效方法

    density()

    用法

    density(x, bw = "nrd0", adjust = 1,kernel = c("gaussian", "epanechnikov", "rectangular", "triangular", "biweight", "cosine", "optcosine"),weights = NULL, window = kernel, width,give.Rkern = FALSE,n = 512, from, to, cut = 3, na.rm = FALSE, ...)

    • density()函数通常和plot()函数结合使用,用来画数据的密度图,如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()根据顶点的x和y坐标,绘制多边形
    polygon(d,col="red",border="blue")
    ## 轴须图rug plot是实际数据的一维呈现方式,数据点多的地方较粗,而jitter函数可以给数据点添加一个小的随机值,避免因太多重合数据点产生影响
    rug(mtcars$mpg,col="brown")
    
    image.png
    • 如果需要向一幅已经存在的图形上叠加一条密度曲线,可以使用lines()
    可比较的核密度图

    使用sm包中的sm.density.compare()函数可以想图形叠加两组或者更多的核密度图,使用格式为:sm.density.compare(x,factor),其中x为一个数值型变量,factor为一个分组变量

    
    ## 安装sm包
    install.packages("sm")
    ## 加载sm包
    library(sm)
    ## 调用mtcars数据集
    attach(mtcars)
    ## 将cyl转换为cyl.f因子
    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))))
    ## 添加图例,locator(1)表示需要用鼠标在图片中单击想让图例出现的位置来放置图例
    legend(locator(1),levels(cyl.f), fill=colfill)
    detach(mtcars)
    
    image.png

    相关文章

      网友评论

        本文标题:R008 基本图形-核密度图plot(density())

        本文链接:https://www.haomeiwen.com/subject/ukosdktx.html