r - 传单地图中的数据集和值之间的数据不匹配
问题描述
我正在尝试使用传单 R 包在县级创建一个等值线地图,我实际上是这样做的。但是当我检查我的数据文件和任何县的悬停文本时,我发现这些值不正确。例如检查 Conejos 县。有什么解释吗?还是一种更好的方法来处理数据并创建此地图而不会出现不匹配?
代码:
library(raster)
library(leaflet)
library(tidyverse)
# Get USA polygon data
USA <- getData("GADM", country = "usa", level = 2)
### Get data
mydata <- read.csv("https://www.betydb.org/miscanthus_county_avg_yield.csv",
stringsAsFactors = FALSE) %>%
dplyr::select(COUNTY_NAME, Avg_yield)
### Check counties that exist in USA, but not in mydata
### Create a dummy data frame and bind it with mydata
mydata <- data.frame(COUNTY_NAME = setdiff(USA$NAME_2, mydata$COUNTY_NAME),
Avg_yield = NA,
stringsAsFactors = FALSE) %>%
bind_rows(mydata)
### Create a color palette
mypal <- colorNumeric(palette = "viridis", domain = mydata$Avg_yield)
leaflet() %>%
addProviderTiles("OpenStreetMap.Mapnik") %>%
setView(lat = 39.8283, lng = -98.5795, zoom = 4) %>%
addPolygons(data = USA, stroke = FALSE, smoothFactor = 0.2, fillOpacity = 0.3,
fillColor = ~mypal(mydata$Avg_yield),
popup = paste("Region: ", USA$NAME_2, "<br>",
"Avg_yield: ", mydata$Avg_yield, "<br>")) %>%
addLegend(position = "bottomleft", pal = mypal, values = mydata$Avg_yield,
title = "Avg_yield",
opacity = 1)
解决方案
推荐阅读
- python - Django HTTP_REFERER 引用了错误的页面
- python-3.x - 初学者 python - 简单的磅到公斤
- java - 如何从 hashmap json 对象打印值
- arrays - 如何在 Kotlin 中将多维数组转换为多维列表?
- angular - 在Angular 7中隐藏模态组件
- sql - 如何在匿名块执行时打印值
- algorithm - 如何使用哈希图查询多个参数?
- php - 在 URL 中使用 $_GET 变量时 PHP 文件中断
- angular - 显示每个项目的 ngFor 列表内的 Ion-Progress-Bar
- excel - 已删除内容的打印问题