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

熱線電話:13121318867

登錄
2018-11-02 閱讀量: 1307
filter()函數(shù)--邏輯運(yùn)算符

filter() 中的多個(gè)參數(shù)是由“與”組合起來的:每個(gè)表達(dá)式都必須為真才能讓一行觀測(cè)包

含在輸出中。如果要實(shí)現(xiàn)其他類型的組合,你需要使用布爾運(yùn)算符: & 表示“與”、 | 表示

“或”、 ! 表示“非”。

使用dplyr進(jìn)行數(shù)據(jù)轉(zhuǎn)換

以下代碼可以找出 11 月或 12 月出發(fā)的所有航班:

filter(flights, month == 11 | month == 12)

表達(dá)式中的運(yùn)算順序和語言中的是不一樣的。你不能寫成 filter(flights, month == 11 |

12) 這種形式。這種形式的文字翻譯確實(shí)是“找出 11 月或 12 月出發(fā)的所有航班”,但在代

碼中則不是這個(gè)意思,代碼中的含義是找出所有出發(fā)月份為 11 | 12 的航班。 11 | 12 這個(gè)

邏輯表達(dá)式的值為 TRUE,在數(shù)字語境中(如本例), TRUE 就是 1,所以這段代碼找出的不

是 11 月或 12 月出發(fā)的航班,而是 1 月出發(fā)的所有航班。真是夠繞的!

這種問題有一個(gè)有用的簡寫形式: x %in% y。這會(huì)選取出 x 是 y 中的一個(gè)值時(shí)的所有行。

我們可以使用這種形式重寫上面的代碼:

nov_dec <- filter(flights, month %in% c(11, 12))

有時(shí)你可以使用德摩根定律將復(fù)雜的篩選條件進(jìn)行簡化: !(x & y) 等價(jià)于 !x | !y、 !(x |

y) 等價(jià)于 !x & !y。例如,如果想要找出延誤時(shí)間(到達(dá)或出發(fā))不多于 2 小時(shí)的航班,

那么使用以下兩種篩選方式均可:

filter(flights, !(arr_delay > 120 | dep_delay > 120))
filter(flights, arr_delay <= 120, dep_delay <= 120)

除 & 和 | 之外, R 中還有 && 和 || 運(yùn)算符。先不要使用這兩個(gè)運(yùn)算符!

只要 filter() 函數(shù)中使用的是復(fù)雜的、包含多個(gè)部分的表達(dá)式,就需要考慮用一個(gè)明確的

變量來代替它。這樣檢查代碼會(huì)容易很多。我們很快就會(huì)介紹如何創(chuàng)建新變量。

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

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

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