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)
제곡리 |
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)
제곡리 |
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 |
하 |