• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      R语言

      • 首页
      • 博客
      • R语言
      • R语言做数据探索

      R语言做数据探索

      • 发布者 weinfoadmin
      • 分类 R语言
      • 日期 2017年6月4日
      测试开头

      本文总结R语言做数据探索的知识。

      R语言做数据探索

      • 1 数据导入

      • 2 数据类型变换

      • 3 数据集变换

      • 4 数据排序

      • 5 数据可视化

      • 6 列联表

      • 7 数据抽样

      • 8 数据去重

      • 9 数据汇总

      • 10 缺失值识别和处理

      • 11 异常值识别和处理

      • 12 数据合并

      • 总结

        1 数据导入

        数据常用格式.csv/.txt/.xls/.json/.xml。
        R语言提供相应的函数和库实现对这些数据格式的导入。
        现已导入.csv格式和以tab分隔的.txt格式为例

        1. # 读.csv格式

        2. data1 <- read.csv(file = 'C:/abc.csv', header = TRUE, sep = ',')

        3. # 读以tab分隔的.txt格式

        4. data2 <- read.csv(file = 'C:/abc.txt', header = TRUE, sep = 't')

        2 数据类型变换

        数据类型变换包括数据类型测试和数据类型之间的变换。
        数据类型测试采用is.xyz系列函数,该函数测试是否为某一种数据类型,返回值是逻辑类型,即TRUE和FALSE。
        数据类型变换采用as.xyz系列函数,把某一种数据类型变换到另一种数据类型。
        例如:

        1. is.numeric(), is.character(), is.vector(), is.matrix(), is.data.frame()

        2. as.numeric(), as.character(), as.vector(), as.matrix(), as.data.frame()

        R语言数据结构之间的转换

        R语言做数据探索

        3 数据集变换

        宽数据转换成窄数据,例如:
        R语言做数据探索
        R语言把宽数据集变换成窄数据集

        1. library(reshape)

        2. data3 <- melt(mydata, id=c("id","time"))

        4 数据排序

        利用order函数对单一变量或者多个变量进行排序(升序或者降序),返回具有排序功能的索引位置。

        1. # sort by var1

        2. data4 <- old[order(var1),]

        3. # sort by var1 and var2 (descending)

        4. data5 <- old[order(var1, -var2),]

        5 数据可视化

        利用R语言做数据可视简单和高效。

        R语言画直方图

        1. set.seed(1234)

        2. score <- rnorm(n = 1000, m = 80, sd = 20)

        3. hist(score)

        R语言做数据探索

        在直方图上面添加密度曲线

        1. hist(score,

        2.     freq=FALSE,

        3.     xlab="Score",

        4.     main="Distribution of score",

        5.     col="lightgreen",

        6.     xlim=c(0,150),

        7.     ylim=c(0, 0.02))

        8. curve(dnorm(x,

        9.            mean=mean(score),

        10.            sd=sd(score)),

        11.      add=TRUE,

        12.      col="darkblue",

        13.      lwd=2)

        R语言做数据探索

        6 列联表

        列联表是理解各类分布的最基本和最有效的方式。

        单变量列联表

        R语言做数据探索

        多变量列联表
        参考代码

        1. library(gmodels)

        2. CrossTable(mydata$myrowvar, mydata$mycolvar)

        7 数据抽样

        利用sample函数实现数据抽样
        从数据集中不放回地随机抽取100个样本
        参考代码:

        1. mysample <- mydata[sample(1:nrow(mydata), 100,replace=FALSE),]

        8 数据去重

        利用unique函数去掉向量中的重复值

        1. set.seed(1234)

        2. x <- round(rnorm(20, 10, 5))

        3. x

        4. unique(x)

        结果如下

        R语言做数据探索

        9 数据汇总

        使用apply系列函数,实现汇总

        R语言做数据探索

        10 缺失值识别和处理

        使用is.na函数识别缺失值,采用均值、中位数、众数、插补法等方法对确实值处理。

        1. y <- c(4,5,6,NA)

        2. is.na(y)

        3. y[is.na(y)] <- mean(y,na.rm=TRUE)

        4. y

        R语言做数据探索

        11 异常值识别和处理

        异常值识别-异常值定位-异常值处理
        异常值识别方法:盒箱图和简单统计量
        异常值处理方法:剔除法/修复法

        12 数据合并

        利用merge函数或者rbind函数或者sqldf包基于数据库的连接操作

        1. # merge two data frames by ID

        2. total <- merge(data frameA,data frameB,by="ID")

        3. # merge two data frames by ID and Country

        4. total <- merge(data frameA,data frameB,by=c("ID","Country"))

        5. total <- rbind(data frameA, data frameB)

        总结

        本文总结了R语言做数据探索和处理的知识。

        您在阅读中,有什么建议或者想法,请留言。
        想加入数据人圈子,请加微信luqin360。


        为什么做数据人网http://shujuren.org

        帮助人们做明智决策,令人兴奋和有价值!

        怎么做数据人网http://shujuren.org

        把数据驱动决策做到极致,涵盖数据思维和数据技术等!

        数据人网做什么?

        数据人网是数据知识服务商!

        共建共享优质数据知识库,提供省时有用数据知识。



        R语言做数据探索 

        点击“阅读原文”进入数据人网。


        测试结尾

        请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

        • 分享:
        作者头像
        weinfoadmin

        上一篇文章

        RForML之核心包:flexclust
        2017年6月4日

        下一篇文章

        R语言机器学习与数据挖掘核心技术与应用
        2017年6月18日

        你可能也喜欢

        3-1665801675
        R语言学习:重读《R数据科学(中文版)》书籍
        28 9月, 2022
        6-1652833487
        经典铁死亡,再出新思路
        16 5月, 2022
        1-1651501980
        R语言学习:阅读《R For Everyone 》(第二版)
        1 5月, 2022

        搜索

        分类

        • R语言
        • TCGA数据挖掘
        • 单细胞RNA-seq测序
        • 在线会议直播预告与回放
        • 数据分析那些事儿分类
        • 未分类
        • 生信星球
        • 老俊俊的生信笔记

        投稿培训

        免费

        alphafold2培训

        免费

        群晖配置培训

        免费

        最新博文

        Nature | 单细胞技术揭示衰老细胞与肌肉再生
        301月2023
        lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
        301月2023
        如何快速批量修改 Git 提交记录中的用户信息
        261月2023
        logo-eduma-the-best-lms-wordpress-theme

        (00) 123 456 789

        weinfoadmin@weinformatics.cn

        恒诺新知

        • 关于我们
        • 博客
        • 联系
        • 成为一名讲师

        链接

        • 课程
        • 事件
        • 展示
        • 问答

        支持

        • 文档
        • 论坛
        • 语言包
        • 发行状态

        推荐

        • iHub汉语代码托管
        • iLAB耗材管理
        • WooCommerce
        • 丁香园论坛

        weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

        • 关于我们
        • 博客
        • 联系
        • 成为一名讲师

        要成为一名讲师吗?

        加入数以千计的演讲者获得100%课时费!

        现在开始

        用你的站点账户登录

        忘记密码?

        还不是会员? 现在注册

        注册新帐户

        已经拥有注册账户? 现在登录

        close
        会员购买 你还没有登录,请先登录
        • ¥99 VIP-1个月
        • ¥199 VIP-半年
        • ¥299 VIP-1年
        在线支付 激活码

        立即支付
        支付宝
        微信支付
        请使用 支付宝 或 微信 扫码支付
        登录
        注册|忘记密码?