初始化向量并将其分配给 R 中的 'externalptr' 时不兼容

Incompatibility when initializing a vector and assigning it to an 'externalptr' in R

我在尝试创建 for 循环并将“externalptr”(XML 数据类型)分配给向量时遇到了麻烦。

current <- vector()

for(k in 1:length(dir())){
    current[k] <- htmlParse(dir()[k])
}

抛出以下错误:

Error in current[k] <- htmlParse(dir()[k]) : 
  incompatible types (from externalptr to logical) in subassignment type fix

我已经尝试为 listexpression...等强制执行 current <- vector("mode=..."),但错误仍然相同,我无法强制执行以下模式externalptr

谢谢。

编辑:

(解释为什么 current <- lapply(dir(), htmlParse) 不起作用的完整代码)

current <- vector()

for(k in 1:length(dir())){
  if(grepl(".xhtml$", dir[k])){
    current[k] <- htmlParse(dir()[k])
  }
}

它必须只搜索 .xhtml 文件,所以当我 运行 该代码时,它会选择它找到的任何内容。

我需要目录保持不变,并且此脚本必须 运行 自动处理数百(甚至数千).XHTML 文档。也许最好的解决方案是搜索之前的所有文件,并排除它们,然后像​​ lapply(dir()[-32, -56], htmlParse)

我的最终答案,让你知道:

dirs <- dir(pattern = ".xhtml$")
current <- lapply(dirs, htmlParse)

感谢您的帮助