R內的gsub()函數


今天遇到了一個問題就是,如果數據里面有逗號,那么如何轉換他們。就像下面的這樣:

> exercise9_1$地區生產總值
 [1] 16,251.93 11,307.28 24,515.76 11,237.55 14,359.88 22,226.70 10,568.83
 [8] 12,582.00 19,195.69 49,110.27 32,318.85 15,300.65 17,560.18 11,702.82
[15] 45,361.85 26,931.03 19,632.26 19,669.56 53,210.28 11,720.87 2,522.66 
[22] 10,011.37 21,026.68 5,701.84  8,893.12  605.83    12,512.30 5,020.37 
[29] 1,670.44  2,102.21  6,610.05 
31 Levels: 1,670.44 10,011.37 10,568.83 11,237.55 11,307.28 ... 8,893.12
#哈哈哈,可以看出這個是因子,我說我怎么畫不了圖……

  

16,251.93里面有個逗號,一般來說,可以用excel來轉換,但是,本人有強迫症,后來在網上搜索到可以用gsub()函數來處理,
> number <- c("11,307.28")
> mode(number)
[1] "character"
> (test1 <- gsub(",","",number))
[1] "11307.28"
> mode(test1)
[1] "character"
> (test2 <- as.numeric(test1))
[1] 11307.28
> mode(test2)
[1] "numeric"
#這里已經是數值型了

  接着上面處理一下exercise9_1$地區生產總值,

> (exercise9_1$地區生產總值 <- as.numeric(gsub(",","",exercise9_1$地區生產總值)))
 [1] 16251.93 11307.28 24515.76 11237.55 14359.88 22226.70 10568.83 12582.00
 [9] 19195.69 49110.27 32318.85 15300.65 17560.18 11702.82 45361.85 26931.03
[17] 19632.26 19669.56 53210.28 11720.87  2522.66 10011.37 21026.68  5701.84
[25]  8893.12   605.83 12512.30  5020.37  1670.44  2102.21  6610.05

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM