Как создать карту сети на уровне округа - PullRequest
0 голосов
/ 02 ноября 2019

Я хочу составить сетевую карту потоков между округами США. У меня есть три переменные: 1) код ФИПС для источника 2) код ФИПС для пункта назначения и 3) общий показатель потока за год. Я не уверен, с чего начать. Но вот как выглядит набор данных:

total       ori     des
196723.91   1001    1001
31368576.05 1001    1007
63177079.64 1001    1021
8156040.666 1001    1037
3400.448878 1001    1047
3730367.933 1001    1051
129030782   1001    1085
10910563.99 1001    1101
4154.649194 1001    1117

Я хотел бы в итоге получить карту США с линиями, соединяющими округа, в которых существует поток между двумя странами.

Я пробовал что-то вроде этого (что было найдено в другом посте):

flow <- read.csv("mapdata.csv")

   map ("county", col="grey20", fill=TRUE, bg="black", lwd=0.1)

    for(i in 1:nrow(flow))  {
      node1 <- flow$ori
      node2 <- flow$des

      arc <- gcIntermediate(node1,node2)

      edge.ind <- round(100*flow[i,]$total / max(flights$total))

      lines(arc, col=edge.col[edge.ind], lwd=edge.ind/30)
    }

Но gcIntermediate (), мне кажется, требует lat и long. И у меня просто есть код ФИПС. Итак, я получаю сообщение об ошибке.

Хотите воссоздать эту карту с общедоступным набором данных, выпущенным исследователями: https://www.fastcompany.com/90422553/the-first-map-of-americas-food-supply-chain-is-mind-boggling

И, если вам интересно, пост, где я нашел код: https://kateto.net/network-visualization

...