2013-02-20 25 views
1

我在將數據從字符串轉換爲整數時出現問題。將數據轉換爲整數/ nu更改數據

例如,原始數據看起來像這樣

orderdt[1:10,2] 

[1] 71004 13943 11337 9647 9363 6836 5957 5167 4963 4850 

但是當我丟在雙這樣它改變了完全不同的號碼

as.numeric(orderdt[1:10,2]) 

[1] 854 164 82 1069 1051 823 724 636 613 600 

本來我投柱(約1軋機排)變成雙層,下半部分大部分都進​​行了改造,只有前300個左右被這樣搞砸了。你知道爲什麼會發生這種情況,或者如何解決它?

請幫忙。

+0

oops我的意思是鑄成數字 – 2013-02-20 20:26:29

回答

4

幾乎可以肯定你有一個因素。要進行檢查,使用:

is.factor(orderdt[1:10,2]) 

如果它是一個因素,比

as.numeric(as.character(is.factor(orderdt[1:10,2]))) 

應該做你的期望。

你現在(可能)的問題是爲什麼我有一個因素嗎?沒有進一步的信息很難知道,但通常的原因是你已經加載了你的數據(比如說通過一個csv文件),你的一個「數字」不是一個數字。例如,你有「1,12」而不是「1.12」

+0

謝謝你,你是如此聰明 – 2013-02-20 20:37:19

+0

:)是的,他是! – Arun 2013-02-20 20:41:32

+0

不幸的是,我的一半代表來自「我認爲你有因素..」 – csgillespie 2013-02-20 20:48:44