美文网首页
2021-05-03 第五章 EDA

2021-05-03 第五章 EDA

作者: 学习生信的小兔子 | 来源:发表于2021-05-03 11:45 被阅读0次
    
    rm(list=ls())
    options(stringsAsFactors = F)
    library(tidyverse)
    library(dplyr)
    library(ggplot2)
    #查看每列的非重复值
    distinct(diamonds,cut)
    ##查看每个非重复值出现的次数
    count(diamonds,cut)
    #cut仅有5个固定的取值,是分类变量,可以用条形图进行可视化。
    ggplot(data=diamonds)+geom_bar(mapping=aes(x=cut))
    #连续变量-例如diamonds中的carat
    #用直方图进行可视化  binwidth是定义等宽分箱的宽度
    ggplot(diamonds)+geom_histogram(mapping=aes(x=carat),
                                    binwidth = 0.5)
    #统计每个区间的观测数量
    diamonds %>% count(cut_width(carat,0.5))
    #典型值
    #直方图或条形图较高的读数,表示常见值。聚集成簇成为子组。
    ##异常值
    ggplot(diamonds)+
      geom_histogram(mapping=aes(x=y),binwidth = 0.5)
    ggplot(diamonds)+
      geom_histogram(mapping=aes(x=y),binwidth = 0.5)+
      coord_cartesian(ylim=c(0,50))
    #找出异常值
    filter(diamonds,y<3|y>20)%>%
      select(price,x,y,z)%>%
      arrange(y)
    #在异常值中,有7个是缺失值
    
    ##异常值的处理方法
    #1.丢弃
    diamonds2 <- diamonds %>%
      filter(between(y,3,20))
    #2.用缺失值代替异常值
    diamonds2 <- diamonds %>%
      mutate(y=ifelse(y<3 | y>20,NA,y))#表示如果符合要求,就替换为NA
    #ggplot中明确移除缺失值的命令:na.rm=TRUE
    ggplot(data=diamonds,mapping = aes(x=x,y=y))+
      geom_point(na.rm = TRUE)
    #相关变动
    #(1)分类变量与连续变量
    #reorder函数对变量进行重排序:
    (请注意例子是根据hwy来对class进行重排序)
    ggplot(data=mpg)+
      geom_boxplot(mapping=aes(x=reorder(class,hwy,FUN=median),y=hwy))
    #(2)两个分类变量
    count(diamonds,color,cut)
    ggplot(diamonds)+
      geom_count(mapping=aes(x=cut,y=color))
    
    diamonds %>% 
      count(color, cut) %>%  
      ggplot(mapping = aes(x = color, y = cut)) +
      geom_tile(mapping = aes(fill = n)) #geom_tile更好看
    #(3)两个连续变量
    ggplot(diamonds)+
      geom_point(mapping=aes(x=carat,y=price))
    
    #设置透明度更美观的散点图
    ggplot(data = diamonds) + 
      geom_point(mapping = aes(x = carat, y = price), alpha = 1 / 100)
    
    smaller <- diamonds %>% 
    filter(carat < 3)
    ggplot(data = smaller) +
      geom_bin2d(mapping = aes(x = carat, y = price))#矩形分箱
    install.packages("hexbin")
    ggplot(data = smaller) +
      geom_hex(mapping = aes(x = carat, y = price))#六边形分箱
    参考:生信星球 书没带回家 后续还需要补充

    相关文章

      网友评论

          本文标题:2021-05-03 第五章 EDA

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