在 R 中编辑 tmap 数据文件

Posted

技术标签:

【中文标题】在 R 中编辑 tmap 数据文件【英文标题】:Editing a tmap data file in R 【发布时间】:2021-12-03 05:07:57 【问题描述】:

我是使用 tmap 的新手。我正在使用默认的“世界”地图,我可以创建世界地图并根据预期寿命为所有国家/地区着色,只需使用:

library(tmap)
library(sf)
tm_shape(World) +
  tm_polygons("life_exp") 

但现在,我创建了自己的数据框以与 World 数据框合并。

World2 <- merge(World, df, by="iso_a3")

这行得通,我现在有一个很好的合并数据框,其中包含我的变量。但是当我运行它时,我得到了这个:

Error: Object World2 is neither from class sf, stars, Spatial, Raster, nor SpatRaster.

我需要对合并的数据框做些什么才能让它在这里工作吗?

【问题讨论】:

在此处尝试步骤 8.1:rpubs.com/quarcs-lab/tutorial-maps-in-r(但也请查看步骤 8 中的合并)。 @user2619203,我在第 8 步中看到他们提到使用 st_as_sf() 将其转换为 sf,而不是下面 lovalery 提到的 st_sf()。我刚刚尝试过,两者都工作 - 谢谢! 【参考方案1】:

您需要将您的dataframe 转换为sf 类型的对象。我想以下行应该可以解决您的问题:

World2 &lt;- st_sf(World2)

【讨论】:

这就像一个魅力,谢谢!我用 World2 很高兴能为您提供帮助。请将答案标记为已接受,以便其他用户更容易找到正确答案。干杯

以上是关于在 R 中编辑 tmap 数据文件的主要内容,如果未能解决你的问题,请参考以下文章

数据可视化应用绘制空间地图(附R语言代码)

尝试在 R 中使用 tmap 绘制 SpatialLinesDataFrame 时出错

在ggplot2中绘制形状文件

在地图 R tmap 中放大城市

使用 tmap 和 sf 循环记录一系列地图

使用 tmap 绘图时最好使用最终的 SpatialPolygonsDataFrame 还是应该在 tmap 选项中进行更改?