У меня есть географические данные для 1032 избирательных участков, расположенных в 123 избирательных округах.
В целях перераспределения мне нужно создать матрицу с каждым разделением 1032 избирательных участков в 123 смежных избирательных округах.
ОЖИДАЕМЫЙ ВЫХОД:
Выходными данными должна быть матрица с 1032 строками, где каждый столбец представляет различную комбинацию назначений (числа от 1 до 123) для этих участков.
Очевидно, что многие из этих комбинаций нереалистичны c (например: районы, сделанные из одного единственного участка), но мне нужно создать матрицу со всеми возможными комбинациями смежных участков .
МОИ ДАННЫЕ (ПРИМЕР С 5 ЧАСТЯМИ И 3 РАЙОНАМИ):
- У меня есть шейп-файлы и центроиды для каждого участка (может не пригодиться для этой цели , но на всякий случай):
centroids <- data.frame(precinct=c(1,2,3,4,5),
lon=c(52.46795,52.40980,52.48036,52.41012,52.49236),
lat=c(13.32068,13.39792,13.34562,13.39955,13.35582))
У меня также есть список смежности для каждого района:
adjlist_blocs <- list(c(2,3,4),
c(1,4),
c(1,4,5),
c(1,2,3,5),
c(3,4))
adjlist_blocs[[1]] # Where [[1]] refers to precinct number 1
[1] 2 3 4 # This means precinct number 1 is adjacent to precincts number 2, 3 and 4
adjlist_blocs[[2]]
[1] 1 4
adjlist_blocs[[3]]
[1] 1 4 5
adjlist_blocs[[4]]
[1] 1 2 3 5
adjlist_blocs[[5]]
[1] 3 4
Таким образом, в этом примере на выходе будет матрица с 5 строками (для 5 участков) и столбцами, охватывающими все возможные комбинации присвоений избирательных округов (например, 3 избирательных округа) для соседних избирательных участков.
Что-то вроде:
|---------------------|------------------|
| Precinct Nb | District Nb |
|---------------------|------------------|
| 1 | 1 |
|---------------------|------------------|
| 2 | 1 |
|---------------------|------------------|
| 3 | 2 |
|---------------------|------------------|
| 4 | 2 |
|---------------------|------------------|
| 5 | 3 |
|---------------------|------------------|
Это будет означать, что избирательные участки 1 и 2 находятся в избирательном округе № 1, избирательные участки 3 и 4 находятся в избирательном округе № 2, и этот округ № 3 состоит только из участка № 5. Это только одна из всех возможных комбинаций для этих избирательных участков при наличии смежности.
Как создать матрицу со всеми возможными комбинациями соседних районов? Может ли R иметь дело с очень большим количеством комбинаций, которые будут сгенерированы в первую очередь (для 1032 участков в 123 районах)? Спасибо за любую помощь, вы можете предоставить!