Data

library(xlsx)
## Loading required package: rJava
## Loading required package: xlsxjars
library(knitr)
options(width=180)
rural <- read.xlsx("./data_rural.xlsx", sheetIndex = 1, startRow = 6, endRow = 14, colIndex = c(4:11, 13:18), colClasses = c("character", rep("numeric", 13)), header = FALSE)
is.na(rural)
##          X4    X5    X6    X7    X8    X9   X10   X11   X13   X14   X15   X16   X17   X18
##  [1,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [2,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [3,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [4,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [5,] FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [6,] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [7,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [8,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [9,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
rural[6,2] <- 0.6
rural.2 <- rural
rural.2[is.na(rural)] <- 0
v.names <-c("location","poverty1", "poverty2", "aged", "disabled", "waterworks", "sewage", "toilet", "house", "slate", "vacant", "agreed1", "agreed2", "density")
names(rural.2) <- v.names
kable(rural.2)
location poverty1 poverty2 aged disabled waterworks sewage toilet house slate vacant agreed1 agreed2 density
제곡리 10.0 12.0 40.0 10.00 0.0 0.0 53.00 50.00 33.0 11.00 100.00 56.00 65.0
하송6리 6.8 0.0 25.3 4.82 100.0 100.0 11.43 77.14 80.0 0.00 61.36 61.36 100.0
율치리 10.6 12.8 31.0 17.90 10.6 0.0 59.60 76.90 75.0 9.60 100.00 84.60 63.8
조동리 13.9 11.6 36.2 7.70 90.6 93.0 10.80 55.30 82.6 22.30 100.00 77.50 78.5
정연리 0.0 0.0 25.0 0.90 0.0 100.0 48.00 96.00 31.0 4.00 100.00 35.00 100.0
봉오리 0.6 1.2 13.0 0.30 100.0 100.0 0.00 17.00 62.0 11.00 19.60 42.00 67.0
오유리 13.1 3.3 24.8 14.80 76.9 76.9 26.90 80.70 44.2 3.84 100.00 94.20 90.4
서화1리 12.5 14.8 38.0 10.42 72.7 12.5 14.40 62.20 71.1 1.10 70.00 70.00 86.7
기사문리 4.0 4.0 24.0 5.00 100.0 0.0 9.00 76.00 25.0 7.00 78.00 78.00 31.0
rural.3 <- rural.2
rural.3$waterworks <- 100-rural.3$waterworks
rural.3$sewage <- 100-rural.3$sewage

Scores

mapply(rank, rural.2[2:3])
##       poverty1 poverty2
##  [1,]        5      7.0
##  [2,]        4      1.5
##  [3,]        6      8.0
##  [4,]        9      6.0
##  [5,]        1      1.5
##  [6,]        2      3.0
##  [7,]        8      4.0
##  [8,]        7      9.0
##  [9,]        3      5.0
rowMeans(mapply(rank, rural.2[2:3]))
## [1] 6.00 2.75 7.00 7.50 1.25 2.50 6.00 8.00 4.00
6*rowMeans(mapply(rank, rural.2[2:3]))
## [1] 36.0 16.5 42.0 45.0  7.5 15.0 36.0 48.0 24.0
scores <- 6*rowMeans(mapply(rank, rural.3[2:3])) + 4*rowMeans(mapply(rank, rural.3[4:5])) + 12*rowMeans(mapply(rank, rural.3[6:8])) + 10*rowMeans(mapply(rank, rural.3[10:11])) + 2*rowMeans(mapply(rank, rural.3[12]))
rural.3$scores <- scores
kable(rural.3)
location poverty1 poverty2 aged disabled waterworks sewage toilet house slate vacant agreed1 agreed2 density scores
제곡리 10.0 12.0 40.0 10.00 100.0 100.0 53.00 50.00 33.0 11.00 100.00 56.00 65.0 230.5
하송6리 6.8 0.0 25.3 4.82 0.0 0.0 11.43 77.14 80.0 0.00 61.36 61.36 100.0 113.5
율치리 10.6 12.8 31.0 17.90 89.4 100.0 59.60 76.90 75.0 9.60 100.00 84.60 63.8 247.0
조동리 13.9 11.6 36.2 7.70 9.4 7.0 10.80 55.30 82.6 22.30 100.00 77.50 78.5 217.0
정연리 0.0 0.0 25.0 0.90 100.0 0.0 48.00 96.00 31.0 4.00 100.00 35.00 100.0 133.5
봉오리 0.6 1.2 13.0 0.30 0.0 0.0 0.00 17.00 62.0 11.00 19.60 42.00 67.0 103.5
오유리 13.1 3.3 24.8 14.80 23.1 23.1 26.90 80.70 44.2 3.84 100.00 94.20 90.4 171.0
서화1리 12.5 14.8 38.0 10.42 27.3 87.5 14.40 62.20 71.1 1.10 70.00 70.00 86.7 192.0
기사문리 4.0 4.0 24.0 5.00 0.0 100.0 9.00 76.00 25.0 7.00 78.00 78.00 31.0 122.0
grade <- ifelse(rank(scores) <= 3, "하", ifelse(rank(scores) <= 6, "중", "상"))
kable(data.frame("소재지"=rural.3$location, "총점"=scores, "순위"=10-rank(scores), "등급" = grade), align=rep("c", 4))
소재지 총점 순위 등급
제곡리 230.5 2
하송6리 113.5 8
율치리 247.0 1
조동리 217.0 3
정연리 133.5 6
봉오리 103.5 9
오유리 171.0 5
서화1리 192.0 4
기사문리 122.0 7