我嘗試使用-E符號來命令csv文件,但rank()函數在數字上表現怪異。當使用科學記數法編號時,rank()排名不正確
> comparison = read.csv("e:/thesis/comparison/output.csv", header=TRUE)
> comparison$proxygeneld_full.txt[0:20]
[1] 9.34E-07 4.04E-06 4.16E-06 7.17E-06 2.08E-05 3.00E-05
[7] 3.59E-05 4.16E-05 7.75E-05 9.50E-05 0.0001116 0.00012452
[13] 0.00015494 0.00017892 0.00017892 0.00018345 0.0002232 0.000231775
[19] 0.00023241 0.0002666
13329 Levels: 0.0001116 0.00012452 0.00015494 0.00017892 0.00018345 ... adjP
> rank(comparison$proxygeneld_full.txt[0:20])
[1] 19.0 14.0 16.0 17.0 11.0 12.0 13.0 15.0 18.0 20.0 1.0 2.0 3.0 4.5 4.5
[16] 6.0 7.0 8.0 9.0 10.0
#It should be 1-20 in order ....
它似乎只是忽略-E符號就在那裏。事實證明,如果我沒有使用文件中的數據
> rank(c(9.34E-07, 4.04E-06, 7.17E-06))
[1] 1 2 3
我錯過了什麼嗎?謝謝。
這將給所有的數字,但這是因爲所討論的變量是一個因素和'as.numeric()'它會返回內部代碼(1,2,3,...,n)而不是數據被強制爲數字。 – 2010-10-22 18:08:27
我剛發現自己的問題。正如你所說,我有一些專欄文章。我開始恨自己忽視這件事。 – 2010-10-22 18:22:26