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






評論(0)


暫無數(shù)據(jù)
推薦帖子
0條評論
0條評論
0條評論