2015-05-25 9 views
0

У меня есть массив чисел (называемый tails.Z) в диапазоне от 0 до 999, и я хочу видеть, какие номера появляются наиболее часто. Для того, чтобы сделать это, я простой частотный график, используя hist(tails.Z, breaks=1000) со следующим результатом: enter image description hereЧастотный график в R

По сюжету, наиболее часто появляется число более 400 раз, и некоторое значение, близкое к нулю. Второй пик находится где-то около 200 и указывает, что число появляется чуть меньше 400 раз.

Однако, когда я делаю sort(table(tails.Z)), чтобы увидеть фактические цифры и их частоты, я получаю, что наиболее частое число - 175, которое появляется 377 раз, тогда второе наиболее частое число - 176, которое появляется 290 раз, затем 3, которое появляется 266 раз, 0 255 раз и 5 263 раз. Как возможно, что первый пик на графике выше 400, но в table нет номера с этой частотой?

EDIT: Я должен добавить, что tails.Z представляет собой массив целых чисел от 0 до 999 и что в нем 114,411 элементов.

+2

Вы не сказали, сколько элементов в 'tails.Z', но вы нарушаете его в 1000 дискретных групп. Хотя ни один элемент не может появляться так часто, комбинация элементов, которые были объединены вместе, будет иметь более высокий всплеск. –

+0

Попробуйте 'hist (tails.Z, breaks = seq (0,1000), include.lowest = T)' или 'barplot (table (tails.Z))'. Гистограммы не предназначены для дискретных данных. Или возможно 'с (as.data.frame (table (tails.Z)), plot (as.numeric (tz), Freq, type =" h "))' – MrFlick

+0

@MrFlick Спасибо: 'with()' похоже сделать работу. –

ответ

0

Посмотрите, что hist функция не используя str:

hs=hist(tails.Z, breaks=1000) 
str(hs) 
tail(cbind(hs$mids,hs$counts),20) 
barplot(hs$counts) 
summary(hs$counts) 
Смежные вопросы