niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

(R) 最頻値を求める

Rでも最頻値は求めることが出来る

modelr::typical()を使う。

For numeric vectors, it returns the median. For factors, characters, and logical vectors, it returns the most frequent value.

とあるように、数値と文字列・因子・論理型で挙動が異なるので注意。

modelr::typical(c("a", "a", "a", "b", "c"))
#> [1] "a"

数値型の場合

 modelr::typical(c(1, 1, 2, 3, 4))
#> [1] 2

最頻値にしたければ型を変えれば良い。

as.numeric(modelr::typical(as.character(c(1, 1, 2, 3, 4))))
#> [1] 1

こんな感じで。

まぁ、僕は最頻値あまり使わないのだけど。

Enjoy!!