R数据分析:何为Tidy data,它又有什么好处
“Happyfamiliesareallalike;everyunhappyfamilyisunhappyinitsownway.”––LeoTolstoy
“Tidydatasetsareallalike,buteverymessydatasetismessyinitsownway.”––HadleyWickham
上面两句话摘自《RforDataScience》 , 今天就尝试着给大家写写什么是整齐数据 , 为什么整齐数据很重要 。
整齐数据Tidydata我们接收到的数据很多都是杂乱无章的 , 为了进行数据的预处理 , 我们需要先把数据转换为整齐的数据 。
整齐数据满足的条件有:
每一个变量都有自己独立的一列每一个观测值都有自己独立的一行每一个数据都是独立的单元格
tidy的特征是使用dplyr中mutate,summary等函数的基础整齐数据可以很方便的转化为其他的类型怎么理解第二个优点呢?就是我们可以很方便的将table1(整齐数据)转化为table3 , 代码如下:
table1%>%mutate(rate=cases/population)相应的其他的转化其实也很方便 。 接着看
如何将非整齐数据转化为整齐数据我们拿到的数据很多时候是原始录入的数据 , 为了录入方便 , 很多时候是不整齐的 。
比如下面的table4 , 它的每一行其实代表了2个观测 , 1999年和2000年 , 1999和2000也并非变量而是年份这个变量下面的值 。
table4a#>#Atibble:3x3#>country`1999``2000`#>*#>1Afghanistan7452666#>2Brazil3773780488#>3China212258213766如何将上面的table变为整齐数据呢?
【R数据分析:何为Tidy data,它又有什么好处】我们需要用到pivot_longer() , 我们需要定义3个参数:
是值而非变量的列 , 本例中:1999and2000容纳原先列名的新变量名 , 本例中:year容纳原先列的值的变量 , 本例中:cases代码如下:
table4a%>%pivot_longer(c(`1999`,`2000`),names_to="year",values_to="cases")#>#Atibble:6x3#>countryyearcases#>#>1Afghanistan1999745#>2Afghanistan20002666#>3Brazil199937737#>4Brazil200080488#>5China1999212258#>6China2000213766看看整个转化过程:
提取变量的列 , 本例中:type提取变量值的列 , 本例中:count代码如下:
table2%>%pivot_wider(names_from=type,values_from=count)#>#Atibble:6x4#>countryyearcasespopulation#>#>1Afghanistan199974519987071#>2Afghanistan2000266620595360#>3Brazil199937737172006362#>4Brazil200080488174504898#>5China19992122581272915272#>6China20002137661280428583看看整个转化过程:
往期内容:
R数据分析:如何用R做数据模拟
R数据分析:RMarkdown:数据分析过程报告利器 , 你必须得学呀
R数据分析:如何用R做验证性因子分析及画图 , 实例操练
推荐阅读
- 何为分餐制?我国古代长期实施的分餐制,为何演变成合餐制?
- 如何为1岁半到2岁的宝宝做辅食?
- |这套方法,更容易让数据分析师立功,比算法模型好用
- 环球主题公园|土味宣传片预热“劝退”网友,北京环球度假区如何为己正名?
- 何为民国绝美的爱情:至死不渝生死不弃?是一句“我从未离开”
- 林更新|林更新内娱反黑第一人是什么梗?林更新是如何为自己反黑的
- 广东高电技术有限公司|如何为母线槽分类
- 慧养优品丨何为气血?生在不缺吃穿的好时代,为何很多人还会气血不足?
- 财付通小贷|小贷增资、马化腾转幕后 腾讯金融意欲何为?
- 大众报业·海报新闻|财鑫闻|珠海港集团将控股天能重工,四个月收购两家山东上市公司意在何为?
