打印与 r 中的列索引对应的值

Printing values corresponding to the column index in r

我有一个包含行号和列号的矩阵 'index'。

Row Column
    1   1746
    1   1867
    1   4631
    2   3
    2   26
    2   28
    2   34
    2   38
    2   47
    2   52
    2   59
    2   75
    2   78
    2   104

我有另一个矩阵 'locations' 由 5000 行 lat/long 值组成。

   Row  longitude   latitude
    1   100.148995  18.147936
    2   98.968003   18.789907
    3   98.967501   18.796631
    4   98.924965   18.747545
    5   105.791758  21.218454
    6   105.851929  21.037073
    7   99.862961   20.130128
    8   102.825773  17.348081
    9   99.078912   18.84856
    10  102.825682  17.347978
    11  99.078871   18.848615
    12  98.931815   18.924331
    13  102.825634  17.347986

现在我想在与索引中的列号相对应的位置找到行号的 lat/long 值,并以 table 的形式连接它们,看起来像这样

Row  Column  Latitude                               Longitude
1   723     Latitude of Row#723 of 'locations'      Longitude of Row#723 of 'locations'
1   1746    Latitude of Row#1746 of 'locations'     Longitude of Row#1726 of 'locations'                                .                                      
1   1867      .                                         .
1   4631      .                                         .
2   3         98.967501                             18.796631
2   26
2   28
2   34
2   38
2   47
2   52

同样,我想获取与所有值的列号对应的位置。我如何在 R 中执行此操作?

我们可以使用merge,并通过以下方式告诉R我们要合并哪些:

merge (index, locations, by.x="Column", by.y="Row")

您的测试数据给出:

  Column Row longitude latitude
1      3   2   98.9675 18.79663

根据您希望在没有匹配项时发生的情况,您还可以在调用中使用 all = TRUE 来包含缺失值。查看 ?merge 了解更多信息。