2018-11-02
閱讀量:
937
使用filter()函數(shù)比較運(yùn)算符
為了有效地進(jìn)行篩選,你必須知道如何使用比較運(yùn)算符來(lái)選擇觀測(cè)。 R 提供了一套標(biāo)準(zhǔn)的
比較運(yùn)算符: >、 >=、 <、 <=、 !=(不等于)和 ==(等于)。
當(dāng)開(kāi)始使用 R 時(shí),最容易犯的錯(cuò)誤就是使用 = 而不是 == 來(lái)測(cè)試是否相等。當(dāng)出現(xiàn)這種情
況時(shí),你會(huì)收到一條有啟發(fā)性的錯(cuò)誤消息:
filter(flights, month = 1)
#> Error: filter() takes unnamed arguments. Do you need `==`?
在使用 == 進(jìn)行比較時(shí),你可能還會(huì)遇到另一個(gè)常見(jiàn)問(wèn)題:浮點(diǎn)數(shù)。下面的結(jié)果可能會(huì)令
你目瞪口呆:
sqrt(2) ^ 2 == 2
#> [1] FALSE
1/49 * 49 == 1
#> [1] FALSE
計(jì)算機(jī)使用的是有限精度運(yùn)算(顯然無(wú)法存儲(chǔ)無(wú)限位的數(shù)),因此請(qǐng)記住,你看到的每個(gè)
數(shù)都是一個(gè)近似值。比較浮點(diǎn)數(shù)是否相等時(shí),不能使用 ==,而應(yīng)該使用 near():
near(sqrt(2) ^ 2, 2)
#> [1] TRUE
near(1 / 49 * 49, 1)
#> [1] TRUE






評(píng)論(0)


暫無(wú)數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
0條評(píng)論
0條評(píng)論