library(rgdal)
library(dplyr)
library(broom)
library(ggplot2)

元データはここ: http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-W05.html

ogrListLayers("osakariver")
## [1] "W05-09_27-g_RiverNode" "W05-09_27-g_Stream"   
## attr(,"driver")
## [1] "ESRI Shapefile"
## attr(,"nlayers")
## [1] 2
river <- readOGR("osakariver", "W05-09_27-g_Stream")
## OGR data source with driver: ESRI Shapefile 
## Source: "osakariver", layer: "W05-09_27-g_Stream"
## with 2125 features
## It has 10 fields
knitr::kable(head(river@data))
W05_001 W05_002 W05_003 W05_004 W05_005 W05_006 W05_007 W05_008 W05_009 W05_010
0 860603 8606030000 4 繧ォ繧、隹キ 4 1 #gb03_2700942 #gb03_2701226 #gb03_2700942 #gb03_2701226
1 860604 8606040044 2 蟆サ辟。蟾㤼㹤 3 1 #gb03_2700011 #gb03_2702076 #gb03_2700008 #gb03_2700032
2 860604 8606040044 2 蟆サ辟。蟾㤼㹤 3 1 #gb03_2700011 #gb03_2702076 #gb03_2700032 #gb03_2702076
3 270001 2700010002 4 隘ソ蟾㤼㹤 3 1 #gb03_2701757 #gb03_2701450 #gb03_2701757 #gb03_2701756
4 860604 8606040001 1 豺€蟾㤼㹤 1 1 #gb03_2701546 #gb03_2700000 #gb03_2701073 #gb03_2700000
5 860604 8606040001 1 豺€蟾㤼㹤 1 1 #gb03_2701546 #gb03_2700000 #gb03_2701405 #gb03_2701073

文字化けしているので修正。

l <- levels(river@data$W05_004)
Encoding(l) <- "UTF-8"
levels(river@data$W05_004) <- l

knitr::kable(head(river@data))
W05_001 W05_002 W05_003 W05_004 W05_005 W05_006 W05_007 W05_008 W05_009 W05_010
0 860603 8606030000 4 カイ谷 4 1 #gb03_2700942 #gb03_2701226 #gb03_2700942 #gb03_2701226
1 860604 8606040044 2 尻無川 3 1 #gb03_2700011 #gb03_2702076 #gb03_2700008 #gb03_2700032
2 860604 8606040044 2 尻無川 3 1 #gb03_2700011 #gb03_2702076 #gb03_2700032 #gb03_2702076
3 270001 2700010002 4 西川 3 1 #gb03_2701757 #gb03_2701450 #gb03_2701757 #gb03_2701756
4 860604 8606040001 1 淀川 1 1 #gb03_2701546 #gb03_2700000 #gb03_2701073 #gb03_2700000
5 860604 8606040001 1 淀川 1 1 #gb03_2701546 #gb03_2700000 #gb03_2701405 #gb03_2701073

描く。

r <- tidy(river)

river@data %>%
  add_rownames("id") %>%
  inner_join(r, by = "id") %>%
  {
    ggplot(., aes(long, lat, group = group, colour = W05_003)) +
      geom_line() +
      coord_quickmap() +
      facet_wrap(~W05_003)
  }