在SpatialPointsDataFrame中选择和重命名列

时间:2019-04-07 16:18:42

标签: r dplyr sp

我正在使用从地理数据库中提取的要素类数据集,该数据集已过滤到我感兴趣的区域并与SpatialPointsDataFrame相交。为了使用WriteOGR将其导出到shapefile中,我需要设置属性名称的格式,并且我还想仅选择要导出到最终shapefile中的特定列。使用标准选择或基本R分租技术时,我遇到了很多错误。由于某些原因,当我尝试选择R时,R似乎无法识别列名称。我尝试了许多不同的方法,但无法弄清楚我要去哪里。

```bfcln%>%
+ select(STATEFP,DP2_HC03_V, DP2_HC03V.1)

Error in tolower(use) : object 'STATEFP' not found```


# create a spatial join between bf_pop and or_acs 
#check CRS
```crsbf <- bf_pop@proj4string```

# change acs CRS to match bf_pop 
```oracs_reprj <- spTransform(or_acs, crsbf)```

# join by spatial attributes 
```bf_int <- raster::intersect(bf_pop, oracs_reprj)```

#truncate field names to 10 characters for ESRI formatting
```names(bf_int) <- strtrim(names(bf_int),10)```
#remove duplicates from attribute table
```bfcln <- bf_int[which(!duplicated(bf_int$id)), ]```

在多次使用select()方法失败之后,我尝试重命名列。

# rename variables of interest 
```bfcln1 <-bfcln%>%
      select(DP2_HC03_V)%>%
      rename(DP2_HC03_V=pcntunmar)%>%
      select(DP2_HC03_V.1)%>%
      rename(DP2_HC03_V.1=pcntirsh)

Error in tolower(use) : object 'DP2_HC03_V' not found```

1 个答案:

答案 0 :(得分:0)

要重命名空间文件,您需要安装包 spdplyr

与 dplyr 类似,您可以:

df <- df %>% 

重命名(newName = oldName)