2015-03-08 3 views
0

Привет Я пытаюсь разработать режим для каждого уникального идентификатора.Вычислить режим в R

Другими словами, я хотел бы знать режим для каждого домохозяйства для Дня, TRANS_TIME, WEEK_NO. то есть, в какой день каждая семья оказывается наиболее т.д.

я соединил некоторые кодовые

library(dplyr) 
randomtest <- mydata %>% group_by(household_key) %>% 
    summarise_each(funs(mode),DAY, TRANS_TIME, WEEK_NO) 

Воспроизводит:

household_key  DAY TRANS_TIME WEEK_NO 
1    1 numeric numeric numeric 
2    2 numeric numeric numeric 
3    3 numeric numeric numeric 
4    4 numeric numeric numeric 
5    5 numeric numeric numeric 
6    6 numeric numeric numeric 
7    7 numeric numeric numeric 
8    8 numeric numeric numeric 
9    9 numeric numeric numeric 
10   10 numeric numeric numeric 

я понимаю числовые означает десятичные? Означает ли это, что мои ответы десятичны, если да, то как я могу изменить его, чтобы округлить значение и показать мне число?

Ниже приведен пример моего dataframe < - MYDATA

household_key DAY TRANS_TIME WEEK_NO 
2375 1 6 1 
2375 1 6 1 
2375 1 6 1 
2375 1 6 1 
2375 1 6 1 
2375 1 6 1 
2375 1 6 1 
2375 1 6 1 
2375 1 6 1 
2375 1 6 1 
2375 1 6 1 
1364 1 6 1 
1364 1 6 1 
1364 1 6 1 
1364 1 6 1 
1364 1 6 1 
1130 1 5 1 
1130 1 5 1 
1130 1 5 1 
1130 1 5 1 
1130 1 5 1 
1173 1 7 1 
1173 1 7 1 
1173 1 7 1 
1172 1 4 1 
1172 1 4 1 
1172 1 4 1 
1172 1 4 1 
1172 1 4 1 
1172 1 4 1 
1172 1 4 1 
1172 1 4 1 
1172 1 4 1 
1172 1 4 1 
+0

Вы должны смотреть на 'mode' и увидеть, что это не функция, которую вы ищете? , См. Дублирующий вопрос для многих и многих вариантов. – Gregor

+0

@Gregor Я видел ссылку, прежде чем я разместил этот вопрос, я новичок в R и не смог связать ни один из ответов на то, что я пытаюсь достичь? Не могли бы вы дать мне несколько советов о том, как это сделать? – user2704941

+0

Выберите один, например, принятый ответ от Ken Williams. Запустите его код, определяющий функцию 'Mode'. Затем запустите код в своем вопросе, заменив 'funs (mode)', который предоставляет режим хранения объекта с помощью 'funs (Mode)', который дает наиболее частое наблюдение. – Gregor

ответ

0

Вот другой подход:

smode <-function(x){ 
    xtab<-table(x) 
    modes<-xtab[max(xtab)==xtab] 
    mag<-as.numeric(modes[1]) #in case mult. modes, this is safer 
    themodes<-names(modes) 
    mout<-list(themodes=themodes,modeval=mag) 
    return(mout) 
    } 
Смежные вопросы