2017-02-14 23 views
2

Я изо всех сил пытаюсь понять, как использовать функцию cut(), чтобы определить interval моих данных интереса на 12 months. Я прочитал этот пост R - Cut by Defined Interval. Но доза не помогает тому, что я ищу.Определенный интервал в R вырезать() и сделать график гистограммы

скажем, у меня есть набор данных имя months, которые имеют значения менее year <12 месяцев до 50 months.

set.seed(50); sample(50) -> months 

Я хочу использовать функцию cut() иметь количество данных, которое падает каждый год, включая < 12 months.

> cut(months, breaks = seq(12,50, by= 12))-> output 
> output 
[1] (24,36] (12,24] <NA> (36,48] (12,24] <NA> (24,36] (24,36] <NA> <NA> 
[11] (12,24] <NA> (24,36] (36,48] (36,48] (36,48] (24,36] (12,24] (36,48] <NA> 
[21] (12,24] (36,48] (12,24] (12,24] <NA> (12,24] (12,24] (24,36] <NA> <NA> 
[31] (12,24] (36,48] (24,36] (36,48] <NA> <NA> (36,48] (12,24] (36,48] (24,36] 
[41] (36,48] (12,24] (24,36] <NA> <NA> (24,36] <NA> (24,36] (24,36] (36,48] 
Levels: (12,24] (24,36] (36,48] 

> table(output) 
output 
(12,24] (24,36] (36,48] 
    12  12  12 

Вопросы

1- Как я могу получить количество данных для < 12 monthsв то время как я продолжаю имея 12 месяцев interval?

Я пробовал это, но доза не работала!

> cut(months, breaks = seq(1,12,50, by= 12))-> output 

2- Как я могу сделать hist() сюжет по этим данным?

Спасибо,

+0

@GGamba, доза не работает отлично:. 'Выход (1,13] (13,25] (25,37] (37,49] 12 12 12 12' я должен быть 12 не 13 – Daniel

+2

! 'seq (0, 50, by = 12)' – GGamba

+1

seq (0, 50, by = 12) (извините за сообщение в то же время, что и @Gamba) .Кроме того, что такое сюжет hiso()? –

ответ

1
set.seed(50) 
months <- sample(50) 

output <- cut(months, breaks = seq(0,50, by= 12), labels = c("<12","12-24","24-35","36-50")) 

hist(as.numeric(output)) 

Вы должны изменить значение оси на гистограмме вручную, так как они будут помечены в интервале 1-4. И как я упоминал в своем комментарии. Гистограмма не очень информативна, учитывая, что все значения равны.