1002 chapter 9 dplyr

2018-10-02  本文已影响0人  森尼啊

9.1 简介

处理关系数据:

p116 练习题

  1. 需要起点、终点位置,地图 ||
    答案: flights表格中的起点、终点位置,airports表格中的经度和纬度,然后把两个连接起来
  2. weather表格中的origin和airports表格中的faa是一致的
  3. 两个表格中的年份、月份、日期匹配
    4.主要是日期,因为特定日期是节假日

9.3 键 keys

用于连接每对数据表的变量 → 键

p118练习题

flights %>%
  arrange(year, month, day, sched_dep_time, carrier, flight) %>%
  mutate(flight_id = row_number()) %>%
  glimpse()
install.packages("Lahman::Batting")
Lahman::Batting %>%
group_by(playerID, yearID, stint) %>%
  filter(n() > 1) %>%
  nrow()

三者中的playerID应该是一致的
|| 答案:

画图的程序看不懂额,决定先不求甚解。。

9.4 合并连接

合并连接--连接两个表格

定义键列

p126 练习题

avg_dest_delays <-
  flights %>%
  group_by(dest) %>%
  # arrival delay NA's are cancelled flights
  summarise(delay = mean(arr_delay, na.rm = TRUE)) %>%
# na.rm = TRUE, 在计算前除去缺失值,缺失值即被取消的航班
  inner_join(airports, by = c("dest" = "faa"))

其他实现方式

inner_join(x,y) → merge(x,y)
left_join(x,y) → merge(x,y,all.x = TRUE)
right_join(x,y) → merge(x,y,all.y = TRUE)
full_join(x,y) → merge(x,y,all.x = TRUE, all.y = TRUE)

9.5筛选连接

9.6 连接中的问题

9.7 集合操作

intersect(x,y)
union(x,y)
setdiff(x,y) #返回在x表,但不在y表的观测

上一篇 下一篇

猜你喜欢

热点阅读