首页 > 解决方案 > 根据设定值重新排序一列数字,R

问题描述

我有一列数字需要从 1 开始重新排序,例如:数字列:226 227 227 227 228 228 229 229 ......

我想重新排序,以便:226 更改 1、227 更改 2、227 = 2、227 = 2、228 = 3、228 = 3、229 = 4、229 = 4 ......等等

<html>
<head>
<style>
table {
  font-family: arial, sans-serif;
  border-collapse: collapse;
  width: 30%;
}

td, th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
}

tr:nth-child(even) {
  background-color: #dddddd;
}
</style>
</head>
<body>

<table>
  <tr>
    <th>Current</th>
    <th>Desired</th>
  </tr>
  <tr>
    <td>226</td>
    <td>99</td>
  </tr>
  <tr>
    <td>227</td>
    <td>100</td>
  </tr>
  <tr>
     <td>227</td>
    <td>100</td>
  </tr>
  <tr>
    <td>227</td>
    <td>100</td>
  </tr>
  <tr>
    <td>228</td>
    <td>101</td>
  </tr>
  <tr>
    <td>228</td>
    <td>101</td>
  </tr>
<tr>
    <td>229</td>
    <td>102</td>
  </tr>
<tr>
    <td>229</td>
    <td>102</td>
  </tr>
<tr>
    <td>229</td>
    <td>102</td>
  </tr>

</table>

</body>
</html>

标签: r

解决方案


您可以尝试as.numeric+factor如下所示,即

r <- as.numeric(factor(v))

这样

> r
[1] 1 2 2 2 3 3 4 4

数据

v <- c(226, 227, 227, 227, 228, 228, 229, 229)

推荐阅读