2014-02-24 45 views
0

如何將值20,000更改爲20000 in R?在我的情況下,我有一個CSV文件,其中列A是格式爲xx,xxx的值,列B是組名。更改R中的數字格式

所以

data[,1] 
[1] 203,472.40 226,433.70 ... 
100 Levels: 101,051.40 103,662.70 ... 

的數值是一個因素,而不是數字。

我到data[,1]轉換爲

[1] 203472.40 226433.70 ... 

我試過as.numeric,但是這不符合因素工作。

+0

as.numeric可以做你想做的事情嗎? – hd1

+0

你確切想要做什麼? 數量類型 20000 abc – honey4092

+3

當讀取數據時,可以設置'dec =「,」',它將讀取數據作爲數值(逗號會分隔小數),然後您可以通過'1000'倍增它們以得到正確的值 – Zbynek

回答

2

要回答你的問題,你需要:

  1. 因素轉換爲字符 - as.character
  2. 刪除逗號 - gsub
  3. 轉換爲數字 - as.numeric

所以

x = factor(c("203,472.40","226,433.70")) 
as.numeric(gsub(",", "", as.character(x))) 

當然,你應該試着解決上游問題(如果可能的話),即使用dec中的read.csv

+0

感謝您的幫助,它完全符合我的需求。
雖然我試過數據<-read.csv(「rev3.csv」,「dec =」,「)。它不工作。也許是因爲我有兩個屬性,除了value之外的另一個是」Name「 。 – useR