整齐数据

整齐数据

Hadley Wickham对于整齐数据的定义

  1. 每个变量必须有自己的列
  2. 每个观察(测量值)必须有自己的行
  3. 每个值都必须有自己的位置

我对整齐数据的一些理解

  1. 有效缺失和隐藏缺失被标注
  2. 变量可以是计算,但是要具体标注
  3. 变量名称不用值来表示
  4. 多重变量不要储存于一个列中

参考文件
Cleaning and visualizing genomic data: a case study in tidy analysis
http://varianceexplained.org/r/tidy-genomics/

下面我将列出我认为较为关键的整齐数据处理函数及其如何作用

  1. gather函数(可以使用内置数据集table1-3尝试)
    例1
    列名称包括 country 1999 2000
    我想要把1999列和2000列合并成一列名称为year,把1999及2000列下的测量值合并在一起重命名为cases。
gather(data,'1999','2000',key="year",value="cases")

gather是一种长转宽的函数,也就是=转变成||...hhh...好鬼畜

与gather函数相反的是spread函数

spread(data,key="year",value="cases")
  1. separate函数

table3

A tibble: 6 x 3

country year rate
<chr> <int> <chr>
Afghanistan 1999 745/19987071

separate(table3,rate ,into=c("cases","population"),convert=T,sep="|")

拆分table3数据中的rate变量,拆分为cases和population,间隔符为|

unite()函数与separate函数正好相反,是一个捏在一起的函数

3.缺失值

缺失值像一个蠕虫,哗哗的侵蚀你的计算数据
在前面的学习中我们已经学会了如何排除缺失值,然而有一些时候我们不能排除缺失值
那么应该用三种办法

  1. 删除缺失值所在的行drop_na函数
  2. 根据上下文写一个一样的 fill函数
  3. 同一列的空值填一个一样的 replace_na函数

书中使用一个spread+gather函数有效的除去了缺失值也不失为一个好的办法
还有模型补缺的方法比较上述方法精确很多,但是也有适用条件。

complete函数可以查看列中的缺失值

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. tibble数据 1.1 tibble数据简介 “Tibbles are data frames, but ...
    100gle阅读 9,057评论 0 7
  • 我有一个女朋友,和男朋友吵架了,气愤之余说恨不得杀了她的男朋友! 今天她给我打电话,老公说:“跑路啦?她在他乡还好么?”
    三三掌门桃三三阅读 968评论 0 0
  • #幸福是需要修出来的~每天进步1%~幸福实修08班~8唐洁-富阳# 20170731(43/99) 【幸福三朵玫瑰...
    你谢谢阅读 1,501评论 0 2
  • 想要每天定时启动,最好是把程序放在服务器上运行,毕竟服务器可以不用关机,即定时任务一直存活
    程猿先生阅读 5,757评论 0 4
  • 添加源 1.添加ppa 2.安装oracle-java-installer 3.设置系统默认jdk 官网下载JDK...
    66dong66阅读 4,536评论 1 1