gpt4 book ai didi

使用 readOGR 的相对路径有所不同,具体取决于 R 脚本还是 rmarkdown

转载 作者:行者123 更新时间:2023-12-01 23:11:31 24 4
gpt4 key购买 nike

在我的常规 .R 脚本中,我使用相对路径来使用 rgdal::readOGR 读取数据:

library(rgdal)
pts <- readOGR("data/points.gpkg")

但是 Rmd 文档中 R 代码片段中的相同代码:

```{r}
pts <- readOGR("data/points.gpkg")
```

返回以下错误:

Error in ogrListLayers(dsn = dsn) : Cannot open data source

如果我使用此错误即可解决

```{r}
pts <- readOGR("../data/points.gpkg")
```

但我无法在常规 .R 脚本中使用该路径字符串。如果我想复制在 R 脚本中编写的代码以在 R markdown 文档中使用,这会令人沮丧。

我有两个问题:

1)为什么会发生这种情况?

2) 如何编写路径,以便它们同时在 .R 和 .Rmd 文档中运行

最佳答案

Rmd 文档的默认工作目录就是它所在的目录。您有很多选择:

  • 使用完整文件路径(对您有好处,但不能移植到其他计算机)
  • 将 Rmd 文件放入用于 R 脚本的工作目录
  • 将 R 脚本放入包含 Rmd 文件的目录中
  • 在第一个 Rmd 代码块中设置工作目录
  • 编写脚本以向文件路径添加前缀,在 R 脚本中将前缀设置为 "./" ,在 Rmd 中将前缀设置为 "../" (如果你想变得更有趣,你可以自动检测到这一点)
  • 不要重复您的代码:仅使用脚本或仅使用 Rmd

还有很多类似的变体。

关于使用 readOGR 的相对路径有所不同,具体取决于 R 脚本还是 rmarkdown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48345334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com