秩函数在 R 中的工作原理

问题描述

同志们!请教。 rank 函数在 R 中是如何工作的。我想确切地了解函数获得结果的公式和逻辑。例如,在Excel中独立发布 我不是很明白,比如我怎么得到这样的结果,不使用函数怎么自己得到。

> rank(c(1,10,1))
[1] 1.5 3.0 1.5

我相信有人会用简单的数学来解释

解决方法

在您的示例中,有 3 个数字:1,10,1

您将它们从小到大排序并分配一个等级:

  • 1 - 排名 1
  • 1 - 排名 2
  • 10 - 排名 3

但是 1 和 1 是相同的 - 所以 ties.method 正在被应用。默认方法是 "average",因此排名 1 和 2 是平均的 - (1+2)/2=1.5

如果您更改向量并执行 rank(c(1,10)),您将获得 1.0 2.5 2.5

  • 1 - 排名 1
  • 10 - 排名 2
  • 10 - 排名 3

排名 2 和排名 3 的平均值:(2+3)/2=2.5

您可以查看其他 ties.method 的文档,例如 min 将采用最小级别的重复项:

rank(c(1,1),ties.method='min')
[1] 1 3 1

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...