终于到了心心念的R了,看老师在短期内成长的轨迹,深受鼓舞。这是离自己最近的榜样,通过努力定可到达彼岸!
一、必修作业-R基本操作
-
学R语言必读之书
- 《R数据科学》——正在学,纸质书远胜于电子书,虽然贵,但很值。
- 《R语言实战》——挺好的入门书,太枯燥,没看完,暂时丢下了。
- 《R数据可视化手册》—— 算是对ggplot2的说明吧。
- 常见命令和函数
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
- 习题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))
- 习题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数据科学的读书笔记里没有对应的解答,麻烦老师给看一下。