• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    教学以及管理操作教程

    教学以及管理操作教程

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

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      教学以及管理操作教程

      教学以及管理操作教程

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

      生信星球

      • 首页
      • 博客
      • 生信星球
      • R数据科学–第八章 readr

      R数据科学–第八章 readr

      • 发布者 weinfoeditor
      • 分类 生信星球
      • 日期 2018年10月18日
      测试开头

      今天是生信星球陪你的第161天


         你想找辆共享单车,发现满街都是别家车,没有一辆你能骑。

         你想学点生信,搜了“初学者教程”,满眼尽是高大上,没有一句能看懂。

         终于你跨越茫茫宇宙,来到生信星球,发现了初学者的新大陆!

      如果你对R语言一无所知,建议先学习《零基础系列》

      本系列的参考资料是:学R必备的神书《R数据科学》,如果你还不了解这本书,👇点这里。

      强行解锁R语言入门新姿势

      系列连载:

      R数据科学–初见

      R数据科学–详解ggplot2

      R数据科学–插播dplyr习题

      R数据科学–第三章dplyr

      R数据科学–第五章 EDA

      R数据科学–第七章 tibble

      英文版书籍地址:http://r4ds.had.co.nz/

      啊啊啊。迟到了。这周会再补上一篇的!最近事情多,脑子乱糟糟。为了文章现学了分子对接,还参加了一次周末培训,知识量猛增,但这本神书学R,绝不能停!昨天脑袋乱,写不出东西,借用了豆豆一篇,今天赶紧补上。

      1.准备工作

      library(tidyverse)

      2.read.csv

      read_csv()#逗号分隔
      read_csv2() #分号分隔
      read_tsv()#制表符分隔
      read_delim()#任意分隔符 read_delim(file,delim='')

      read_fwf()#固定宽度文件,不熟悉,但知道read_table()是他的变体。

      read_csv()的参数

      1.可以使用skip = n 来跳过前n 行;
      2.用comment = “#” 来丢弃所有以# 开头的行
      3.默认第一行为列名,取消默认用col_names = FALSE,定义列名向col_names传递一个字符向量。
      4.将某些值读取为缺失值,na="."

      read_csv("The first line of metadata
      The second line of metadata
      x,y,z
      1,2,3"
      , skip = 2)

      练习
      (1) 如果一个文件中的域是由“|”分隔的,那么应该使用哪个函数来读取这个文件?
      read_delim(file, delim = "|")
      (2) 除了file、skip 和comment,还有哪些参数是read_csv() 和read_tsv() 这两个函数共
      有的?
      union(names(formals(read_csv)), names(formals(read_tsv)))
      (3) read_fwf() 函数中最重要的参数是什么?
      read_fwf()读取“固定宽度格式” 的最重要的参数是col_positions告诉函数数据列开始和结束的位置。
      (4) 有时CSV 文件中的字符串会包含逗号。为了防止引发问题,需要用引号(如” 或’)将逗号围起来。按照惯例,read_csv() 默认引号为”,如果想要改变默认值,就要转而使用read_delim() 函数。要想将以下文本读入一个数据框,需要设定哪些参数?
      “x,yn1,’a,b'”
      x <- "x,yn1,'a,b'"
      read_csv(x, quote = "'")
      (5) 找出以下每个行内CSV 文件中的错误。如果运行代码,会发生什么情况?
      read_csv("a,bn1,2,3n4,5,6")
      问题:第一行只有两个数值,二、三行却有3个。第一行默认为列名,所以是定义了两列,第二、三行的第三个数就是多余的列,默认被删掉了。
      read_csv("a,b,cn1,2n1,2,3,4")
      每行的元素个数不一样,以列名为基准,多余的被删除,缺少的为NA。
      read_csv("a,bn"1")
      1前面的“”只有一半,被删除掉了。这个运行结果等同于read_csv("a,bn1")
      read_csv("a,bn1,2na,b")
      这个有问题吗?
      read_csv("a;bn1;3")
      分隔符是“;”应用read_csv2()读取

      3.解析向量

      parse_*() 函数接受一个字符型向量,并返回一个特定向量,如逻辑、整数或日期,改变了数据类型。

      parse_logical()
      parse_integer()
      parse_double()
      parse_number()
      parse_character()
      parse_factor()
      parse_datetime()、parse_date() 和parse_time()

      解析失败可用problems(x)获取失败信息集合,可用dplyr处理缺失值。

      3.1.数值

      默认小数点是”.”有的国家用逗号作为小数点,需要用参数locale = locale(decimal_mark = “,”)设置。

      parse_double("1.23")
      #> [1] 1.23
      parse_double("1,23", locale = locale(decimal_mark = ","))
      #> [1] 1.23

      数字前后有货币、百分比、无关文本等等,可用parse_number提取。

      3.2字符串

      parse_character()
      用charToRaw()获得一个字符串的底层编码。
      处理数据文本乱码,可以用locale = locale(encoding = "")
      猜测编码方式:guess_encoding(charToRaw())

      3.3因子

      fruit <- c("apple", "banana","bananana")
      parse_factor(c("apple", "banana", "bananana"), levels = fruit)
      #[1] apple    banana   bananana
      #Levels: apple banana bananana

      3.4日期

      此部分跳过,和生信好像没有关系。

      3.5练习

      (1) locale() 函数中最重要的参数是什么?
      数字:指定小数点符号和分组符号decimal_mark,grouping_mark
      编码方式:encoding
      (2) 如果将decimal_mark 和grouping_mark 设为同一个字符,会发生什么情况?如果将decimal_mark 设为,,grouping_mark 的默认值会发生什么变化?如果将grouping_mark 设为.,decimal_mark 的默认值会发生什么变化?
      相同则报错。小数点设为逗号,则分组符号默认改为”.”
      (5) read_csv() 和read_csv2() 之间的区别是什么?
      分隔符, read_csv() 是逗号,read_csv2()是分号

      4.解析文件

      guess_parser() 猜测数据类型
      parse_guess() 解析列,列是向量。

      challenge <- read_csv(readr_example("challenge.csv"))

      自动根据前1000行,猜测x列为整数,y列为数值。在1000列之后都是failure了,因为有拖尾字符。实际上1000行后x列为双精度浮点数,y列为日期。因此我们在读取命令中加入col_types,指定x列为col_double(),y列为col_date()

      challenge <- read_csv(
        readr_example("challenge.csv"),
        col_types = cols(
          x = col_double(),
          y = col_date()
        )
      )

      将所有列作为字符向量读入:
      challenge2 <- read_csv(readr_example("challenge.csv"), col_types = cols(.default = col_character()) ) ¨G6G df <- tribble( ~x, ~y, "1", "1.21", "2", "2.32", "3", "4.56" ) df ¨K20K ¨K21K ¨K22K ¨K23K ¨K24K ¨K25K ¨K26K type_convert(df) ¨K27K ¨K28K ¨K29K ¨K30K ¨K31K ¨K32K ¨K33K ¨K34K ¨K35K ¨K36K ¨K37K

      5.保存、导出

      write_csv导出后,列的数据类型会丢失。
      替代方式:
      (1)write_rds(),read_rds-R自定义的二进制格式
      (2)feather包中的write_feather和read_feather-在多种编程语言间通用。

      6.其他类型的数据

      • haven 可以读取SPSS、Stata 和SAS 文件;
      • readxl 可以读取Excel 文件(.xls 和.xlsx 均可);

      简书-小洁忘了怎么分身,同步更新花花的文章。

      简书-刘小泽,同步更新豆豆的文章。

      隔壁生信技能树公益视频合辑(学习顺序是linux,r,软件安装,geo,小技巧,ngs组学!)

      国内看B站,教学视频链接:https://m.bilibili.com/space/338686099 
      国外看YouTube,教学视频链接:https://m.youtube.com/channel/UC67sImqK7V8tSWHMG8azIVA/playlists 

      友情链接:

      生信工程师入门最佳指南
      学徒培养

      资料大全


      点击底部的“阅读原文”,获得更好的阅读体验哦😻

      初学生信,很荣幸带你迈出第一步。

      我们是生信星球,一个不拽术语、通俗易懂的生信知识平台。由于是2018年新号,竟然没有留言功能。需要帮助或提出意见请后台留言、联系微信或发送邮件到Bioplanet520@outlook.com,每一条都会看到的哦~

      R数据科学--第八章 readr


      测试结尾

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

      • 分享:
      作者头像
      weinfoeditor

      上一篇文章

      【DV】为什么你应该从学习数据可视化和操作开始
      2018年10月18日

      下一篇文章

      标准化进行时
      2018年10月19日

      你可能也喜欢

      8-1651673488
      生信零基础入门学习小组长期报名中(2022仍继续)
      7 4月, 2022
      2-1651673738
      简化版的ROC曲线
      21 2月, 2022
      8-1651674718
      支持向量机模型
      19 11月, 2021

      搜索

      分类

      • 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年
      在线支付 激活码

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