99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2018-11-03 閱讀量: 989
使用管道組合多種操作

假設(shè)我們想要研究每個(gè)目的地的距離和平均延誤時(shí)間之間的關(guān)系。使用已經(jīng)了解的 dplyr

包功能,你可能會(huì)寫出以下代碼:

by_dest <- group_by(flights, dest)
delay <- summarize(by_dest,
count = n(),
dist = mean(distance, na.rm = TRUE),
delay = mean(arr_delay, na.rm = TRUE)
)
delay <- filter(delay, count > 20, dest != "HNL")

# 750英里內(nèi),平均延誤時(shí)間會(huì)隨著距離的增加而增加,接著會(huì)隨著距離的增加而減少。隨著飛

行距離的增加,延誤時(shí)間有可能會(huì)在飛行中彌補(bǔ)回來嗎?

ggplot(data = delay, mapping = aes(x = dist, y = delay)) +
geom_point(aes(size = count), alpha = 1/3) +
geom_smooth(se = FALSE)

完成數(shù)據(jù)準(zhǔn)備需要 3 步。

(1) 按照目的地對(duì)航班進(jìn)行分組。

(2) 進(jìn)行摘要統(tǒng)計(jì),計(jì)算距離、平均延誤時(shí)間和航班數(shù)量。

(3) 通過篩選除去噪聲點(diǎn)和火奴魯魯機(jī)場(chǎng),因?yàn)榈竭_(dá)該機(jī)場(chǎng)的距離幾乎是到離它最近機(jī)場(chǎng)的

距離的 2 倍。

這段代碼寫起來有點(diǎn)令人泄氣,因?yàn)椴坏貌粚?duì)每個(gè)中間數(shù)據(jù)框命名,盡管我們根本不關(guān)心

這一點(diǎn)。命名是很難的,這樣做會(huì)影響我們的分析速度。

解決這個(gè)問題的另一種方法是使用管道, %>%:

delays <- flights %>%
group_by(dest) %>%
summarize(
count = n(),
dist = mean(distance, na.rm = TRUE),
delay = mean(arr_delay, na.rm = TRUE)
) %>%
filter(count > 20, dest != "HNL")

這種方法的重點(diǎn)在于轉(zhuǎn)換的過程,而不是轉(zhuǎn)換的對(duì)象,這使得代碼具有更好的可讀性。你

可以將其讀作一串命令式語(yǔ)句:分組,然后摘要統(tǒng)計(jì),然后進(jìn)行篩選。在閱讀代碼時(shí), %>%

最好讀作“然后”。

使用這種方法時(shí), x %>% f(y) 會(huì)轉(zhuǎn)換為 f(x, y), x %>% f(y) %>% g(z) 會(huì)轉(zhuǎn)換為 g(f(x,

y), z),以此類推。

0.0000
3
關(guān)注作者
收藏
評(píng)論(0)

發(fā)表評(píng)論

暫無數(shù)據(jù)
推薦帖子