我觀察此:數據一致性:表VS ==
> class(x)
[1] "numeric"
> str(x)
num [1:2500] 1 1 1 1 1 1 1 1 1 1 ...
> table(x)
1
2500
> table(x == 1)
FALSE TRUE
299 2201
> all.equal(x, rep(1,length(x)))
[1] TRUE
> dput(x)
c(1, ..... 1) # all ones
,這怎麼可能?我瞭解floating point numbers should not be compared using ==
in general,但不應該table
與==
一致嗎?
PS。顯然,table
與all.equal
一致,而不是與==
一致,因爲它首先將其參數轉換爲因子(即字符串)。
PPS。 table(x-1)
顯示非0值。
對我來說它工作正常 –
@sds不確定你的評論意味着什麼。怎麼樣一個可重複的例子? – Frank
你可以使用'dput' – akrun