如果没有可重现的示例,我无法说明您的代码为何不起作用。如果您有一个有效的 shapefile,您应该能够使用您提供的代码将其读入并绘制它:
# first get and save a shapefile to make the code easily reproducible
library(sf)
nc <- st_read(system.file("shape/nc.shp", package="sf"))
st_write(obj = nc, dsn = 'test/nc.shp')
# now there's a shapefile named "nc.shp" saved in the "test" folder.
# the functions you're using will work on a valid path to a valid shapefile:
library(rgdal)
nc1 <- readOGR("test/nc.shp")
plot(nc1)
我通常使用这个sf
包,它提供了更多的多功能性(特别是对于绘图):
library(sf)
nc2 <- st_read("test/nc.shp")
plot(st_geometry(nc2))
如果您的代码不起作用,则可能是您提供给readOGR
函数的路径或 shapefile 本身存在问题。