R tmap::save_tmap函数无法将HTML文件保存在工作目录以外的文件夹中

R tmap::save_tmap函数无法将HTML文件保存在工作目录以外的文件夹中,r,tmap,R,Tmap,我正在学习如何使用tmap包生成地图并将其保存到交互式HTML文件中。如果我创建了一个tmap对象,并使用save\u tmap函数将其保存到我的工作目录中,我会得到一个预期的HTML文件。但如果我将目录更改为其他路径,则会生成一条错误消息。请参见下面的示例 # Load tmap package library(tmap) # Load example data data(World) # Create example map example_map <- tm_shape(World,

我正在学习如何使用
tmap
包生成地图并将其保存到交互式HTML文件中。如果我创建了一个
tmap
对象,并使用
save\u tmap
函数将其保存到我的工作目录中,我会得到一个预期的HTML文件。但如果我将目录更改为其他路径,则会生成一条错误消息。请参见下面的示例

# Load tmap package
library(tmap)
# Load example data
data(World)
# Create example map
example_map <- tm_shape(World, projection="longlat") + 
      tm_polygons() + 
      tm_layout("Long lat coordinates (WGS84)", 
                inner.margins = c(0, 0, .1, 0), title.size = .8)

# Save an HTML object
save_tmap(example_map, "example_map.html")
这是行不通的。我将收到以下错误消息

normalizePath(path.expand(path)、winslash、mustWork)中出错: 路径[1]=“tmap_文件夹”:系统找不到指定的文件


如果您有任何可能导致此错误的想法,请分享您的想法。

这听起来像是normalizePath和Windows之间的斗争(请参阅另一个示例)。不要使用相对路径,如
“tmap\u folder/example\u map.html”
尝试使用绝对路径,如
C:/users/ycw/tmap\u folder/example\u map.html
另一个选项似乎是使用
here
包。这样,您就不必指定完整路径,而且您的代码可能更具可移植性,可以更好地使用rstudio项目和Rmarkdown

# Save the HTML object in "tmap_folder" with here package
library(here)
save_tmap(example_map, here("tmap_folder","example_map.html"))
# Save the HTML object in "tmap_folder" with here package
library(here)
save_tmap(example_map, here("tmap_folder","example_map.html"))