首页 > 解决方案 > R通过坐标函数内的变量名调用数据框(sp包的)

问题描述

我花了一段时间试图理解为什么这不起作用,但我就是想不通。我正在使用 R 中的 sp 包,我想将数据框转换为 SpatialPointsDataFrame,使用坐标函数分配坐标。应动态调用数据框。

以“meuse”数据为例:

> data(meuse)
> coordinates(meuse) <- ~x+y
> meuse
class       : SpatialPointsDataFrame 
features    : 155 
extent      : 178605, 181390, 329714, 333611  (xmin, xmax, ymin, ymax)
coord. ref. : NA 
variables   : 12
names       : cadmium, copper, lead, zinc,   elev,       dist,   om, ffreq, soil, lime, landuse, dist.m 
min values  :     0.2,     14,   37,  113,  5.180, 0.00000000,  1.0,     1,    1,    0,      Aa,     10 
max values  :    18.1,    128,  654, 1839, 10.520, 0.88038900, 17.0,     3,    3,    1,       W,   1000

这工作正常。但是,尝试动态调用“meuse”失败:

> df <- "meuse"
> data(list = df)
> coordinates(get(df)) <- ~x+y
Error in coordinates(get(df)) <- ~x + y : could not find function "get<-"

为什么这不起作用?为什么它试图找到一个“get<-”函数?

到目前为止,我的解决方法是:

assign(df, `coordinates<-`(get(df), ~x+y))

标签: rsp

解决方案


推荐阅读