Nhờ câu trả lời trong câu hỏi này, tôi đã có thể tập hợp và vẽ bản đồ phân chia bầu cử ở một phần của Vương quốc Anh, trong trường hợp này là Pembrokeshire. Khung dữ liệu kết quả là lớn và chứa dữ liệu Khảo sát bản đồ nên sẽ khó đăng ở đây, nhưng khung dữ liệu trông như thế này:
> str(bar)
'data.frame': 134609 obs. of 7 variables:
$ long : num 214206 214203 214202 214198 214187 ...
$ lat : num 207320 207333 207339 207347 207357 ...
$ order: int 1 2 3 4 5 6 7 8 9 10 ...
$ hole : logi FALSE FALSE FALSE FALSE FALSE FALSE ...
$ piece: Factor w/ 12 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
$ group: Factor w/ 82 levels "Amroth ED.1",..: 1 1 1 1 1 1 1 1 1 1 ...
$ id : chr "Amroth ED" "Amroth ED" "Amroth ED" "Amroth ED" ...
Tôi đã cung cấp khung dữ liệu kết quả để ggplot
sử dụng mã sau đây:
ggplot(bar, aes(x = long, y = lat, group = group)) +
geom_polygon(colour = "black", fill = "grey50")
Điều này tạo ra hình ảnh sau đây, trông đẹp và sạch sẽ.
Sau đó, tôi đã kết hợp điều này với một khung dữ liệu chứa dữ liệu dân số, trông như thế này:
> str(mydf)
'data.frame': 60 obs. of 22 variables:
$ ward.code : chr "00NSPH" "00NSPJ" "00NSPK" "00NSPL" ...
$ id : chr "Amroth ED" "Burton ED" "Camrose ED" "Carew ED" ...
$ la : chr "Pembrokeshire" "Pembrokeshire" "Pembrokeshire" "Pembrokeshire" ...
$ total : num 1237 1737 2458 1570 1976 ...
$ age.0.4 : num 34 86 81 92 107 76 131 77 90 95 ...
$ age.5.9 : num 45 93 83 80 138 82 111 85 132 75 ...
$ age.10.14 : num 65 116 123 103 111 79 151 80 135 83 ...
$ age.15.19 : num 69 90 161 126 117 93 150 87 139 103 ...
$ age.20.24 : num 42 63 116 58 81 63 120 58 114 79 ...
$ age.25.29 : num 46 63 73 60 86 56 90 51 108 67 ...
$ age.30.34 : num 38 60 87 72 99 54 115 62 76 42 ...
$ age.35.39 : num 53 105 104 82 110 81 91 76 121 82 ...
$ age.40.44 : num 70 142 128 107 116 88 161 89 151 92 ...
$ age.45.49 : num 71 138 172 122 128 109 192 116 190 104 ...
$ age.50.54 : num 93 136 204 108 133 119 168 125 174 99 ...
$ age.55.59 : num 126 129 235 125 149 108 179 137 175 106 ...
$ age.60.64 : num 139 162 248 170 194 129 236 183 199 136 ...
$ age.65.69 : num 110 110 205 95 129 143 172 128 167 130 ...
$ age.70.74 : num 81 85 174 52 100 75 110 88 113 128 ...
$ age.75.79 : num 78 54 130 58 74 70 72 68 119 114 ...
$ age.80.84 : num 38 50 84 33 56 43 63 42 94 62 ...
$ age.85.plus: num 39 55 50 27 48 42 36 55 85 84 ...
... sử dụng mã sau đây:
foo <- merge(mydf, bar)
và vẽ kết quả như thế này:
ggplot(foo, aes(x = long, y = lat, group = group)) +
geom_polygon(colour = "black", fill = "grey50")
Vấn đề là cốt truyện kết quả có các tạo tác như trong hình bên dưới:
Vì vậy, tập hợp khung dữ liệu gốc từ shapefile là tốt, nhưng tệp dữ liệu được hợp nhất có 'vấn đề'.
H: Điều gì có thể là nguyên nhân của loại cổ vật này? Tôi hiểu rằng nếu không có mã và dữ liệu đầy đủ thì đây là phỏng đoán và tôi xin lỗi trước vì điều này nhưng đối tượng rất lớn và cũng có thể có vấn đề phân phối lại. Bất kỳ gợi ý, gợi ý, gợi ý về nơi bắt đầu tìm kiếm sẽ được đánh giá cao.