我正在try 使用R和osmdata包获取各个城市的坐标.

cities<-c("Name1","Name2")

for (city in cities){
      city <-getbb(
      city,
      format_out = "matrix",
      base_url = "https://nominatim.openstreetmap.org",
      featuretype = "settlement",
      limit = 10,
    )

}

我想将坐标归属于环路中城市的实际名称,例如环路的第一个iteracy

Name1<- getbb("Name1")

以此类推,但我无法找到一种方法,用getbb()函数中变量的名称为循环中getbb()函数的输出编制索引.

我不想使用数字来索引坐标,因为我有许多城市.

我该怎么做?

推荐答案

编写循环时,需要考虑如何存储每个迭代的输出.我怀疑getbb的输出相当复杂(可能是一个两列矩阵?"bb"表示"边界框"?),所以我会用一个"列表"来存储.

cities <- c("Name1", "Name2")

## initialize storage
output <- vector("list", length(cities))
## add names to list entries
names(output) <- cities

## a loop with numeric index
for (i in 1:length(cities)) {
      output[[i]] <- getbb(
      cities[i],
      format_out = "matrix",
      base_url = "https://nominatim.openstreetmap.org",
      featuretype = "settlement",
      limit = 10,
    )
}

最后,您可以使用城市名称从列表中提取值:

## result for city "Names1"
output[["Names1"]]

R相关问答推荐

如何从使用lapply()的r中的拆分数据帧中删除多个部分?

使用facet_wrap()时如何将面板标题转换为脚注?

给定R中另一行中的值,如何插补缺失值

列出用m n个值替换来绘制n个数字的所有方法(i.o.w.:R中大小为n的集合的所有划分为m个不同子集)

Highcharter多次钻取不起作用,使用不同方法

获取列中值更改的行号

根据多个条件增加y轴高度以适应geom_text标签

在另存为PNG之前隐藏htmlwidget绘图元素

从外部文件读取多个值作为字符向量

将二进制数据库转换为频率表

在GG图中绘制射线的自动程序

Data.table';S GForce-将多个函数应用于多列(带可选参数)

以字符格式导入的ExcelElectron 表格日期列标题

汇总数据的Sheffe检验的P值(平均值和标准差)

如何在R中使用hmm TMB提前一步预测观察到的状态?

在R中,如何将误差条放置在堆叠的每个条上?

如何删除R中除数字元素以外的所有元素

我是否可以使用多个变异项来构建顺序列(标记多个问题)

R中时间间隔的大向量与参考时间间隔的相交

变异以按组从其他列创建具有最大和最小值的新列