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