生信星球培训第十一期

学习小组Day4笔记-姜洪利

2018-12-20  本文已影响23人  姜洪利_d076

终于到了心心念的R了,看老师在短期内成长的轨迹,深受鼓舞。这是离自己最近的榜样,通过努力定可到达彼岸!

一、必修作业-R基本操作

  1. 学R语言必读之书
    • 《R数据科学》——正在学,纸质书远胜于电子书,虽然贵,但很值。
    • 《R语言实战》——挺好的入门书,太枯燥,没看完,暂时丢下了。
    • 《R数据可视化手册》—— 算是对ggplot2的说明吧。
  2. 常见命令和函数
x >- c("hello, R", "ggplot2")
y <- as.list( as.data.frame( as.array( as.array( as.matrix( as.factor( as.character(1:5)))))))
ggplot( data = XXX, mapping = aes( x = xxx, y = xxx, color = xxx, fill = xxx) +
geom_point/bar/smooth/line/histogram/boxplot( data = xxx, mapping = aes(),
stat = "xxx", position = "xxx") +
coord_fixed/flip/polar/equal() +
facet_wrap/grid()

二、求解答《R数据科学》3.5.2的习题2和4

  1. 习题2

比较air_time 和 arr_time - dep_time。您期望看到什么?实际又看到什么?如何解决?

下面是我的代码,我觉得对,但为何arr_time_dep_time在相减前转化为分钟,为何不等于air_time?

new_flights <- flights %>%
    filter(!is.na(dep_time),!is.na(arr_time)) %>%
    select(arr_time, dep_time, air_time) %>%
    mutate(airtime = (arr_time %/% 100*60+arr_time %% 100-dep_time %/% 100*60-dep_time %% 100)) %>%
    mutate(newairtime = ifelse(airtime < 0, airtime + 1440, airtime))
  1. 习题4

使用排秩函数找出10个延误时间最长的航班。如何处理名字相同的情况?仔细阅读min_rank()的帮助文件。

下面是我的代码,我跑了一下,觉得对又不对。对是因为前10个没有相同的arr_delay,不对是我假设,在这前10个排序的观测值里,有两个观测值假设a和b,其排序分别是3,4,他们的arr_time一样大小,但是a和b的dep_time分别是12,15,那是不是a和b的名次反了呢,该如何解决?

order <- flights %>%
+ mutate(mc = row_number(desc(order$arr_delay))) %>%
+ filter(between(mc,1,10))

以上两个问题在老师的R数据科学的读书笔记里没有对应的解答,麻烦老师给看一下。

上一篇下一篇

猜你喜欢

热点阅读