【问题标题】:R: Error in x[[1]] : subscript out of bounds (importing files)R:x[[1]] 中的错误:下标越界(导入文件)
【发布时间】:2021-07-19 06:15:46
【问题描述】:

我正在使用 R 编程语言。我有一个文件夹,里面装满了我想上传到 R 中的“.R”文件。

文件夹地址如下:C:/Users/OneDrive/Documents/dk"

我尝试按照以下教程中的说明进行操作:Reading in multiple .rds files and creating one object:

    library(raster)

 getwd()
[1] "C:/Users/OneDrive/Documents"

path = "C:/Users/OneDrive/Documents/dk"

files <- list.files(path = path, pattern = "\\.R$", full.names = TRUE)
r <- lapply(files, readRDS)
s <- stack(r)

但这会返回以下错误:

Error in x[[1]] : subscript out of bounds

有谁知道我做错了什么?我附上了一张显示一般设置的屏幕截图:

我的目标是一次将所有这些 R 文件加载到 R Studio 中,然后同时运行它们 - 因此,在全局环境中创建所有这些函数。

谁能告诉我我做错了什么?

谢谢

【问题讨论】:

    标签: r import directory raster


    【解决方案1】:

    您可以使用source 将单个 R 文件中可用的功能获取到全局环境。

    files <- list.files(path = path, pattern = "\\.R$", full.names = TRUE)
    lapply(files, source)
    

    【讨论】:

    • :谢谢您的回答!我最终使用了您在评论中的建议,并使用了链接中的第二个答案。
    • stackoverflow.com/questions/68444377/… 如果你有时间可以看看这个问题吗?非常感谢!
    【解决方案2】:

    正如建议的那样,我链接的问题的第二个答案能够提供帮助!

    files <- list.files(path = path, pattern = "\\.rds$", full.names = TRUE)
    stack <- do.call("rbind", lapply(files, readRDS))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-03
      • 2012-08-03
      • 2015-07-14
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      • 2015-02-11
      相关资源
      最近更新 更多