R 列出shp文件失败,文件数量太多

R 列出shp文件失败,文件数量太多,r,loading,shapefile,R,Loading,Shapefile,多年来,我一直使用以下方法将重要的.shp文件转换为R fine: require(maptools) require(rgeos) shp <- lapply(list.files(pattern="*.shp"), readShapePoly) 我一直在网上搜索,但没有找到解决方案。工作目录设置正确,每个shapefile都有相应的.dbf.shx和.prj文件。而且 list.files(getwd(),pattern="shp") 确实返回每个文件。所以我有点困惑,我是否遗漏

多年来,我一直使用以下方法将重要的.shp文件转换为R fine:

require(maptools)
require(rgeos)

shp <- lapply(list.files(pattern="*.shp"), readShapePoly)
我一直在网上搜索,但没有找到解决方案。工作目录设置正确,每个shapefile都有相应的.dbf.shx和.prj文件。而且

list.files(getwd(),pattern="shp")
确实返回每个文件。所以我有点困惑,我是否遗漏了一些明显的东西


谢谢

请将您的
lappy
更改为循环,或者使用来找出给您带来麻烦的文件

不幸的是,R形状文件函数往往对文件扩展名很挑剔。确保共同构成一个shapefile的所有不同文件上的所有大小写都是一致的


如果您认为它是一个特定的文件,您可以使用
try
tryCatch
来捕捉错误。

options(error=recover)非常有用,不幸的是,它只是将前两个文件集(1个名称和4个扩展名)列为有问题的文件集,如果仅在它们自己的文件上进行测试,则可以使用一个文件进行测试。请尝试指定完整路径,或尝试指定形状文件的名称,但不带扩展名.shp。我记得rgdal中有一些变化,邮件列表中也有一些讨论。还有:哪个版本的R,maptools,所有其他包maptools都依赖于moght be有用(sessionInfo())对我有用:R版本2.15.2(2012-10-26)平台:i686 pc linux gnu(32位)[1]rgeos_0.2-12 maptools_0.8-22 lattice_0.20-13 sp_1.0-5[5]通过名称空间加载(未附加)的外部工具\u 0.8-52:[1]工具\u 2.15.2如果任何工具都不起作用,可能是路径问题。在
list.files()
中尝试
,full.names=TRUE
。还可以尝试
lappy(list.files(pattern=“*.shp”)[[1]],readShapePoly)
并查看是否会出现相同的错误。如果是,请将
list.files(pattern=“*.shp”)[[1]]]
与您知道有效的字符串进行比较。或者停止使用
readShapePoly
并使用
rgdal
包中的
readOGR
list.files(getwd(),pattern="shp")