Getting and Cleaning Data - Week3 Tidying Data with tidyr

tidy数据集特征:

  • 每个变量形成一个列
  • 每一个观察都形成一行
  • 每一种观测单位都形成一个表

untidy数据集特征

列是值,而不是变量名 :
religion, income and frequency.

多个变量存储在一个列中
人口统计群体被sex(m, f)和age(0-14,15-25,25-34,35-44,45-54,55-64,55-64)划分
变量存储在行和列中:
在各个列(id、年、月)中有变量,分布在列(day, d1-d31)和跨行(tmin, tmax)(最小和最高温度)。
不同类型的观察单元存储在同一个表中:
billborad数据集实际上包含了对两种观察单元的观察:歌曲信息和它在每个星期的排名。艺术家artist,年year和时间time被重复了很多次。这个数据集需要细分为两个部分:一个歌曲数据集,它存储艺术家、歌曲名称和时间,以及一个排名数据集,每个星期都给出歌曲的排名。
•单个观察单元存储在多个表中:

PRACTICE

tidy data
# 处理方案
# 1. select() all columns that do NOT contain the word "total",
# since if we have the male and female data, we can always
# recreate the total count in a separate column, if we want it.
# Hint: Use the contains() function, which you'll
# find detailed in 'Special functions' section of ?select.
#
# 2. gather() all columns EXCEPT score_range, using
# key = part_sex and value = count.
#
# 3. separate() part_sex into two separate variables (columns),
# called "part" and "sex", respectively. You may need to check
# the 'Examples' section of ?separate to remember how the 'into'
# argument should be phrased.
#
sat1 <- sat[2:11] %>%
  select(-contains("total")) %>%
  gather(part_sex, count, -score_range) %>%
    separate(part_sex, c("part", "sex")) %>%
    group_by(part, sex)%>%
    mutate(total = sum(count),
           prop = count / total
    ) %>% 
  print

cleaned data

处理后结果

Week 3 Quiz

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

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,145评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 9,796评论 0 44
  • 客户需要陶还需要养 1.销售是一场情报站,收集客户信息,建立客户资料卡帮助你接近你的客户。 2.人人都是你的客户...
    A_百度小曹阅读 219评论 0 1
  • 胖真的是吃出来的吗?那为什么还有的人喝口水都会胖,为什么有的人怎么吃都不让呢?食物表示很委屈。 食物本身是...
    梦缘_21阅读 303评论 0 0