DF <- read.csv("example_population.csv",stringsAsFactors = F)
str(DF)
## 'data.frame':    281 obs. of  7 variables:
##  $ City      : chr  "서울특별시  (1100000000)" "서울특별시 종로구 (1111000000)" "서울특별시 중구 (1114000000)" "서울특별시 용산구 (1117000000)" ...
##  $ Population: chr  "10,078,850" "155,695" "126,817" "235,186" ...
##  $ Households: chr  "4,197,478" "72,882" "59,614" "108,138" ...
##  $ PersInHou : num  2.4 2.14 2.13 2.17 2.35 2.28 2.26 2.36 2.41 2.36 ...
##  $ Male      : chr  "4,962,774" "76,962" "63,292" "114,119" ...
##  $ Female    : chr  "5,116,076" "78,733" "63,525" "121,067" ...
##  $ SexRatio  : num  0.97 0.98 1 0.94 0.99 0.97 1.01 1 0.96 0.97 ...
head(DF,5)
##                             City Population Households PersInHou      Male
## 1       서울특별시  (1100000000) 10,078,850  4,197,478      2.40 4,962,774
## 2 서울특별시 종로구 (1111000000)    155,695     72,882      2.14    76,962
## 3   서울특별시 중구 (1114000000)    126,817     59,614      2.13    63,292
## 4 서울특별시 용산구 (1117000000)    235,186    108,138      2.17   114,119
## 5 서울특별시 성동구 (1120000000)    298,145    126,915      2.35   148,265
##      Female SexRatio
## 1 5,116,076     0.97
## 2    78,733     0.98
## 3    63,525     1.00
## 4   121,067     0.94
## 5   149,880     0.99
#install.packages("stringr")
library(stringr)
## Warning: package 'stringr' was built under R version 3.3.2
temp = str_split_fixed(DF[,1],"\\(", 2)
head(temp,5)
##      [,1]                 [,2]         
## [1,] "서울특별시  "       "1100000000)"
## [2,] "서울특별시 종로구 " "1111000000)"
## [3,] "서울특별시 중구 "   "1114000000)"
## [4,] "서울특별시 용산구 " "1117000000)"
## [5,] "서울특별시 성동구 " "1120000000)"
#( 를 기준으로 스플릿 

NewCity = str_split_fixed( temp[,1], " ",2)
head(NewCity)
##      [,1]         [,2]     
## [1,] "서울특별시" " "      
## [2,] "서울특별시" "종로구 "
## [3,] "서울특별시" "중구 "  
## [4,] "서울특별시" "용산구 "
## [5,] "서울특별시" "성동구 "
## [6,] "서울특별시" "광진구 "
#공백을 기준으로 시와 구를 구분한다. 

colnames(NewCity) <- c("Provinces","City")
head(NewCity)
##      Provinces    City     
## [1,] "서울특별시" " "      
## [2,] "서울특별시" "종로구 "
## [3,] "서울특별시" "중구 "  
## [4,] "서울특별시" "용산구 "
## [5,] "서울특별시" "성동구 "
## [6,] "서울특별시" "광진구 "
#열이름 지정 

DF = data.frame(NewCity,DF[,c(2:7)])
head(DF,3)
##    Provinces    City Population Households PersInHou      Male    Female
## 1 서울특별시         10,078,850  4,197,478      2.40 4,962,774 5,116,076
## 2 서울특별시 종로구     155,695     72,882      2.14    76,962    78,733
## 3 서울특별시   중구     126,817     59,614      2.13    63,292    63,525
##   SexRatio
## 1     0.97
## 2     0.98
## 3     1.00
#데이터 합ㅋ체

DF[DF == " "] = NA
head(DF,10)
##     Provinces      City Population Households PersInHou      Male
## 1  서울특별시      <NA> 10,078,850  4,197,478      2.40 4,962,774
## 2  서울특별시   종로구     155,695     72,882      2.14    76,962
## 3  서울특별시     중구     126,817     59,614      2.13    63,292
## 4  서울특별시   용산구     235,186    108,138      2.17   114,119
## 5  서울특별시   성동구     298,145    126,915      2.35   148,265
## 6  서울특별시   광진구     362,197    158,769      2.28   177,946
## 7  서울특별시 동대문구     362,604    160,110      2.26   181,825
## 8  서울특별시   중랑구     417,976    177,077      2.36   208,657
## 9  서울특별시   성북구     464,176    192,670      2.41   227,676
## 10 서울특별시   강북구     333,523    141,325      2.36   164,304
##       Female SexRatio
## 1  5,116,076     0.97
## 2     78,733     0.98
## 3     63,525     1.00
## 4    121,067     0.94
## 5    149,880     0.99
## 6    184,251     0.97
## 7    180,779     1.01
## 8    209,319     1.00
## 9    236,500     0.96
## 10   169,219     0.97
#공백을 NA로 변경

DF = DF[complete.cases(DF),]
head(DF,10)
##     Provinces      City Population Households PersInHou    Male  Female
## 2  서울특별시   종로구     155,695     72,882      2.14  76,962  78,733
## 3  서울특별시     중구     126,817     59,614      2.13  63,292  63,525
## 4  서울특별시   용산구     235,186    108,138      2.17 114,119 121,067
## 5  서울특별시   성동구     298,145    126,915      2.35 148,265 149,880
## 6  서울특별시   광진구     362,197    158,769      2.28 177,946 184,251
## 7  서울특별시 동대문구     362,604    160,110      2.26 181,825 180,779
## 8  서울특별시   중랑구     417,976    177,077      2.36 208,657 209,319
## 9  서울특별시   성북구     464,176    192,670      2.41 227,676 236,500
## 10 서울특별시   강북구     333,523    141,325      2.36 164,304 169,219
## 11 서울특별시   도봉구     353,284    137,260      2.57 174,075 179,209
##    SexRatio
## 2      0.98
## 3      1.00
## 4      0.94
## 5      0.99
## 6      0.97
## 7      1.01
## 8      1.00
## 9      0.96
## 10     0.97
## 11     0.97
for(i in 3:8){
  DF[,i] = sapply(DF[,i], function(x) gsub(",","",x))
  DF[,i] = as.numeric(DF[,i])
}

str(DF)
## 'data.frame':    263 obs. of  8 variables:
##  $ Provinces : Factor w/ 17 levels "강원도","경기도",..: 9 9 9 9 9 9 9 9 9 9 ...
##  $ City      : Factor w/ 241 levels " ","가평군 ",..: 188 189 158 105 32 65 190 106 6 63 ...
##  $ Population: num  155695 126817 235186 298145 362197 ...
##  $ Households: num  72882 59614 108138 126915 158769 ...
##  $ PersInHou : num  2.14 2.13 2.17 2.35 2.28 2.26 2.36 2.41 2.36 2.57 ...
##  $ Male      : num  76962 63292 114119 148265 177946 ...
##  $ Female    : num  78733 63525 121067 149880 184251 ...
##  $ SexRatio  : num  0.98 1 0.94 0.99 0.97 1.01 1 0.96 0.97 0.97 ...
#반복문으로 , 가 포함된 숫자값을 ,을 제거하고 실제 numeric 타입 으로 변경해준다.

ProPopul = tapply(DF$Population,DF$Provinces,sum)


DF[,1] = factor(DF[,1])
ProPopul = tapply(DF$Population,DF$Provinces,sum)
ProPopul
##         강원도         경기도       경상남도       경상북도     광주광역시 
##        1547166       18723822        4428762        3215695        1476974 
##     대구광역시     대전광역시     부산광역시     서울특별시     울산광역시 
##        2491137        1525656        3517491       10078850        1169768 
##     인천광역시       전라남도       전라북도 제주특별자치도       충청남도 
##        2914271        1902638        2523806         615250        2671383 
##       충청북도 
##        2414568
#각 도시별로 그룹화하고 sum으로 보여줌. 

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.3.2
library(ggthemes)
## Warning: package 'ggthemes' was built under R version 3.3.2
Graph = ggplot(DF, aes(x=Provinces , y=Population, fill=Provinces)) +
  geom_bar(stat="identity") + theme_wsj()
Graph

write.csv(DF,"example_population_f.csv")