У меня есть набор данных, который ранжирует столбец в соответствии со значениями. Я использую rank
с методом ties.method = c("average")
. Кажется, что использование усреднения ранга ведет себя не так, как я ожидал.
Я экспериментировал с 4 наборами данных:
1:
structure(list(X1.4 = c(1, 2, 2, 2, 4)), row.names = c(NA, 5L
), class = "data.frame")
2:
structure(list(X1.4 = c(1, 2, 2, 4)), row.names = c(NA, -4L), class = "data.frame")
3:
structure(list(X1.6 = c(1, 2, 2, 2, 2, 2, 3)), row.names = c(NA,
7L), class = "data.frame")
4: structure(list(X1.8 = c(1, 2, 2, 2, 2, 2, 2, 8)), row.names = c(NA,
-8L), class = "data.frame")
Когда я использовал rank
с ties.method = c("average")
, они привели к:
1 rank(x, ties.method = c("average"))
:
X1.4 <NA> <NA> <NA> <NA>
1 3 3 3 5
2 rank(y, ties.method = c("average"))
:
X1.4 <NA> <NA> <NA>
1.0 2.5 2.5 4.0
3 rank(z, ties.method = c("average"))
:
X1.6 <NA> <NA> <NA> <NA> <NA> <NA>
1 4 4 4 4 4 7
4 X1.8 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
1.0 4.5 4.5 4.5 4.5 4.5 4.5 8.0
:
Мой первый инстинкт - связь с результатом с четным числом при усреднении с десятичными числами b c они чисто разбиваются на .5
с. Я хотел бы найти способ для нечетного числа связей по-прежнему отображать десятичные дроби.
Например, я бы ожидал, что # 1 будет:
X1.4 <NA> <NA> <NA> <NA>
1 2.33 2.33 2.33 5
Это возможно? Спасибо.