Мы могли бы попробовать
as.numeric(names(which.max(table(x))))
Пример:
x <- c(5,5,2,5,5,3,3,5,5)
#> as.numeric(names(which.max(table(x))))
#[1] 5
Объяснение:
Результат which.max(table(x))
является именованным числом, которое в данном случае является
#> which.max(table(x))
#5
#3
Здесь значение равно 3, а имя «5». Этот вывод предоставляет информацию о том, что наиболее частым входом является третье уникальное число, содержащееся в векторе, подсчитывается в порядке возрастания (здесь упорядоченные числа: 2, 3 и 5) и имеет «имя» 5. В случае вектора, состоящего из чисел, это обозначение номера может выглядеть странно, но вектор также может содержать слова, такие как «красный», «синий», «зеленый», а затем знание наименования наиболее частого слова определенно было бы полезно.
Нас интересует только имя, которое мы можем извлечь с помощью функции names()
. Результатом является символ, который в нашем случае может быть принудительно введен в целое число с использованием as.numeric()
.
Возможный дубликат: http://stackoverflow.com/q/2547402/903061 – Gregor