簡體   English   中英

為什么NaN!= NaN在R中返回NA而不是TRUE

[英]Why does NaN!=NaN return NA instead of TRUE in R

據我所知,在IEEE 754標准中,對於所有x值(包括Nan), x==NaN應該為false,但是當我在https://rextester.com/l/r_online_compiler中測試NaN==NaN ,它將返回NA代替。

這是否違反標准? 這種設計選擇背后有什么道理嗎? 我主要是出於好奇而問,因為這種情況很少出現。

我認為這個答案可以走兩條路。 您可以談論IEEE 754和各種類型的NaN(信號NaN和“安靜” NaN),以及這是否是您的好奇心所在。 可能值得研究。

但是,在R中,NaN是“特殊值”和保留字。 它將被視為數字(浮點,實數,虛數,復數等)

R中的一般規則是,任何涉及NaN的計算都將返回NaN或NA。 “這可能取決於R平台”。 (請參閱下面的鏈接)。 本質上,根據R選擇如何解釋您的代碼,通常通常通常會拋出NaN或NA。

測試NaN是否存在的唯一可靠方法是使用謂詞is.nan()

https://stat.ethz.ch/R-manual/R-devel/library/base/html/is.finite.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM