Я потратил некоторое время, пытаясь понять, почему это не работает, но я просто не мог понять это.Я работаю с пакетами sp в R, и я хочу преобразовать фрейм данных в 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 <-"? </p>
Мой обходной путь до сих пор:
assign(df, `coordinates<-`(get(df), ~x+y))