[R] truncating values into separate categories

Albyn Jones jones at reed.edu
Fri Jul 31 17:11:50 CEST 2009


It appears that your difficulty lies in miscounting the number of intervals.

> cut(NP, breaks=c(0,1,2,3,4,max(NP)))
  [1] (0,1] (0,1] (1,2] (0,1] (0,1] (1,2] (1,2] (0,1] (3,4] (0,1] <NA>  
  (4,6] (2,3] (2,3] (0,1]
[16] (4,6] (2,3] (4,6] (0,1] (4,6] (0,1] (1,2] (1,2] (1,2] (3,4] (3,4]  
(0,1] (1,2] (0,1] (2,3]
[31] (2,3] (0,1] (1,2] (1,2] (0,1] (1,2] (0,1] (1,2] (1,2] (2,3] (0,1]  
(0,1] (3,4] (3,4] (0,1]
[46] (0,1] (0,1] (1,2] (1,2] (1,2]
Levels: (0,1] (1,2] (2,3] (3,4] (4,6]

> cut(NP, breaks=c(0,1,2,3,max(NP)),labels=c("1","2","3","4+"))
  [1] 1    1    2    1    1    2    2    1    4+   1    <NA> 4+   3     
3    1    4+   3    4+
[19] 1    4+   1    2    2    2    4+   4+   1    2    1    3    3     
1    2    2    1    2
[37] 1    2    2    3    1    1    4+   4+   1    1    1    2    2    2
Levels: 1 2 3 4+

> a=cut(NP, breaks=c(0,1,2,3,max(NP)),labels=c("1","2","3","4+"))
> table(a,exclude=NULL)
a
    1    2    3   4+ <NA>
   19   15    6    9    1

Generally it is better to let R keep track of the NA's for you.

albyn


Quoting PDXRugger <J_R_36 at hotmail.com>:

>
> Hi all,
>   Simple question which i thought i had the answer but it isnt so simple for
> some reason.  I am sure someone can easily help.  I would like to categorize
> the values in NP into 1 of the five values in "Per", with the last
> category("4") representing values >=4(hence 4:max(NP)).  The problem is that
> R is reading max(NP) as multiple values instead of range so the lengths of
> the labels and the breaks are not matching.  Suggestions?
>
> Per <- c("NA", "1", "2", "3","4")
>
> NP=c(1 ,1 ,2 ,1, 1 ,2 ,2 ,1 ,4 ,1 ,0 ,5 ,3 ,3 ,1 ,5 ,3, 5, 1, 6, 1, 2, 2, 2,
> 4, 4, 1, 2, 1, 3, 3, 1 ,2 ,2 ,1 ,2, 1, 2,
> 2, 3, 1, 1, 4, 4, 1, 1, 1, 2, 2, 2)
>
> Person_CAT <- cut(NP, breaks=c(0,1,2,3,4:max(NP)), labels=Per)
>
> --
> View this message in context:  
> http://www.nabble.com/truncating-values-into-separate-categories-tp24749046p24749046.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>




More information about the R-help mailing list