2014-12-05 58 views
0

我已經約。 75k數據集。包含數據的文件包含兩列:一列是event_id,另一列是prices(價格是一些實數)我必須找到每個event_id價格的模式(最頻繁的值)。我一直在嘗試使用該命令的事:R - 如何找到列數據集的模式?

aggregate(price~event_id,data=bets,FUN="mode") 

但每個event_idnumeric。我不知道numeric是什麼意思。你有?或者你知道任何其他方式來找到這種數據集的模式?

由於

+0

「模式」是變量,其是定量的,因此,數字的「模式」。如果你想要的模式(最常見的值),你可以寫一個函數。 – 2014-12-05 13:10:43

+0

所以沒有辦法快速做到這一點?當我在我的命令中用「mean」或「median」取代「mode」時,一切都很好,我仍然可以得到正確的值。你有這個功能的例子嗎?我在R很新。 – 2014-12-05 13:15:21

+0

請看看我的回答 – 2014-12-05 13:17:14

回答

1
mode_fun <- function(x) { 

    mode0 <- names(which.max(table(x))) 

    if(is.numeric(x)) return(as.numeric(mode0)) 

    mode0 

} 

aggregate(price~event_id,data=bets,FUN=mode_fun) 
+0

好吧,很多。它正在工作。我怎樣才能把它放入一個txt文件? – 2014-12-05 13:20:37

+0

你最好爲這個(不同的主題)提出另一個問題。您還應該提供您要求的可重複的示例。無論如何,看看:'?write.table' – 2014-12-05 13:24:15

+0

對,我明白。我看到你已經編輯了你的答案。現在我的R編輯器說沒有找到對象'x'。 – 2014-12-05 13:27:45