我想計算分類變量的最頻繁值。我嘗試使用modeest軟件包中的mlv函數,但獲得了NAs。R中的分類變量的統計模式(使用mlv)
user <- c("A","B","A","A","B","A","B","B")
color <- c("blue","green","blue","blue","green","yellow","pink","blue")
df <- data.frame(user,color)
df$color <- as.factor(df$color)
library(plyr)
library(dplyr)
library(modeest)
summary <- ddply(df,.(user),summarise,mode=mlv(color,method="mlv")[['M']])
Warning messages:
1: In discrete(x, ...) : NAs introduced by coercion
2: In discrete(x, ...) : NAs introduced by coercion
summary
user mode
1 A NA
2 B NA
然而,我需要這樣的:
user mode
A blue
B green
我在做什麼錯?我嘗試過使用其他方法,以及mlv(x=color)
。根據modeest的幫助頁面,它應該適用於各種因素。
我不想使用table(),因爲我需要一個簡單的函數來創建一個類似於這個問題的彙總表:How to get the mode of a group in summarize in R,但是對於一個分類列。
也許還有相關性:[*「是否有內置函數用於查找模式?」](https://stackoverflow.com/q/2547402/2204410) – Jaap