0

我正在尝试将具有位置数据和值的数据框(视为向量)转换为使用位置数据作为行名和列名的矩阵。

(运行代码片段以查看布局示例。)

向量示例:

 <table>
  <tr>
    <th>"Longitude"</th>
    <th>"Latitude"</th>
    <th>"Value"</th>
  </tr>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>10</td>
  </tr>
  <tr>
    <td>3</td>
    <td>3</td>
    <td>100</td>
  </tr>
  <tr>
    <td>2</td>
    <td>1</td>
    <td>65</td>
  </tr>
</table> 

矩阵示例:

 <table>
  <tr>
    <th></th>
    <th>1</th>
    <th>2</th>
    <th>3</th>
  </tr>
  <tr>
    <th>1</th>
    <td>0.00</td>
    <td>0.00</td>
    <td>0.00</td>
  </tr>
  <tr>
    <th>2</th>
    <td>0.00</td>
    <td>0.00</td>
    <td>0.00</td>
  </tr>
  <tr>
    <th>3</th>
    <td>0.00</td>
    <td>0.00</td>
    <td>0.00</td>
  </tr>
</table> 

我想要的结果是:

 <table>
  <tr>
    <th></th>
    <th>1</th>
    <th>2</th>
    <th>3</th>
  </tr>
  <tr>
    <th>1</th>
    <td>0.00</td>
    <td>65.00</td>
    <td>0.00</td>
  </tr>
  <tr>
    <th>2</th>
    <td>10.00</td>
    <td>0.00</td>
    <td>0.00</td>
  </tr>
  <tr>
    <th>3</th>
    <td>0.00</td>
    <td>0.00</td>
    <td>100.00</td>
  </tr>
</table> 

本质上,我想将数据框视为一系列向量并将它们转换为矩阵,但我过去的尝试导致矩阵将自身转换为列表。

有谁知道如何做到这一点?

先感谢您。

4

1 回答 1

0

我们可以使用xtabsfrom轻松做到这一点base R

out <- xtabs(Value ~ Latitude + Longitude, df1)
names(dimnames(out)) <- NULL
out
#    1   2   3
#1   0  65   0
#2  10   0   0
#3   0   0 100
于 2019-03-20T14:07:37.850 回答