我不理解错误是什么,因为tidy
函数可以正常使用其他shapefile,USAboundaries
是否遗漏了什么?
library(USAboundaries)
library(broom)
states_dat <- tidy(us_states(), region = "geoid")
##> states_dat <- tidy(us_states(), region = "geoid")
##Error in psych::describe(x, ...) : unused argument (region = "geoid")
head(us_states()[4],3)
##> head(us_states()[4],3)
## geoid
##1 23
##2 15
##3 04
答案 0 :(得分:1)
us_states()
返回一个sf对象。 tidy
没有sf
个对象的方法,而是使用data.frame
方法。另一方面,tidy
具有来自sp
包的各种类的方法,这可能是它“与其他shapefile一起正常工作”的原因。 (见help(sp_tidiers)
。)
要使用现有代码,您可以将us_states()
输出转换为Spatial
对象:
library(sf)
states <- as(us_states(), "Spatial")
states_dat <- tidy(states, region = "geoid")
要了解如何使用sf
框架中的tidy
个对象,您可能会发现http://strimas.com/r/tidy-sf/有帮助。