Hi Charles, Sorry, now I remember that I was working with another cut2() function (from Rui's solution) when I tried your data.
dat1<-structure(list(var1 = c(97, 97, 98, 98, 97, 99, 97, 98, 99, 98, 99, 98, 98, 97, 97, 98, 99, 98, 96, 98, 98, 99, 98, 98, 99, 99, 98, 99, 98, 99, 99, 99, 99, 98, 99, 96, 99, 98, 98, 99, 97, 98, 99, 99, 97, 99, 99, 98, 98, 98, 99, NA, 99, 98, 98, 98, 98, 98, 98, 98, 99, 99, 98, 99, 99, 98, 98, 99, 99, 97, 98, 98, 98, 99, 98, 98, 98, 99, 98, 98)), .Names = "var1", row.names = c(NA, 80L), class = "data.frame") unique(dat1[,1]) #[1] 97 98 99 96 NA cut2 <- function(x, g = 0){ cut(x, breaks = c(-Inf, seq(min(x), max(x), length.out = g))) } dat2<-dat1[!is.na(dat1)] cut2(dat2,g=4) A.K. ________________________________ From: Charles Determan Jr <deter...@umn.edu> To: David Winsemius <dwinsem...@comcast.net> Cc: arun <smartpink...@yahoo.com>; R help <r-help@r-project.org> Sent: Wednesday, October 17, 2012 5:04 PM Subject: Re: [R] cut2 error David, I am pursuing this because this is just one variable analyzed within a loop where most have the 4 defined quartiles to assign 4 groups. When I see that error, I wanted to understand it to see if there is something wrong. That is why I isolated it and tried the particular variable and still got the error. Is this something to just ignore and add a component in the loop saying there isn't four groups with that variable? Regards On Wed, Oct 17, 2012 at 3:58 PM, David Winsemius <dwinsem...@comcast.net> wrote: >On Oct 17, 2012, at 1:52 PM, Charles Determan Jr wrote: > > >Hi A.K. >> >>I tried your code exactly as you presented but I only get the following >>output, did I somehow miss something? Was there something else loaded? >>Thanks, >> >>[1] [96, 99) [96, 99) [96, 99) [96, 99) [96, 99) 99 [96, 99) [96, 99) >>[9] 99 [96, 99) 99 [96, 99) [96, 99) [96, 99) [96, 99) [96, 99) >>[17] 99 [96, 99) [96, 99) [96, 99) [96, 99) 99 [96, 99) [96, 99) >>[25] 99 99 [96, 99) 99 [96, 99) 99 99 99 >>[33] 99 [96, 99) 99 [96, 99) 99 [96, 99) [96, 99) 99 >>[41] [96, 99) [96, 99) 99 99 [96, 99) 99 99 [96, 99) >>[49] [96, 99) [96, 99) 99 99 [96, 99) [96, 99) [96, 99) [96, 99) >>[57] [96, 99) [96, 99) [96, 99) 99 99 [96, 99) 99 99 >>[65] [96, 99) [96, 99) 99 99 [96, 99) [96, 99) [96, 99) [96, 99) >>[73] 99 [96, 99) [96, 99) [96, 99) 99 [96, 99) [96, 99) >>Levels: [96, 99) 99 >>Warning message: >>In min(xx[xx > upper]) : no non-missing arguments to min; returning Inf >> >> For the quantiles requested with your data you get: > >> quantile(dat[1], prob=(1:4)/4, na.rm=TRUE) > 25% 50% 75% 100% > 98 98 99 99 > >So you only have 2 groups in your answer. Why are you persisting in trying to >do this operation when you only had 4 values to start with? > >-- >David. > > > >>On Wed, Oct 17, 2012 at 3:30 PM, arun <smartpink...@yahoo.com> wrote: >> >> >>Hi, >>>Try this: >>>dat1<-structure(list(var1 = c(97, 97, 98, 98, 97, 99, 97, >>>98, 99, 98, 99, 98, 98, 97, 97, 98, 99, 98, 96, 98, 98, 99, 98, >>>98, 99, 99, 98, 99, 98, 99, 99, 99, 99, 98, 99, 96, 99, 98, 98, >>>99, 97, 98, 99, 99, 97, 99, 99, 98, 98, 98, 99, NA, 99, 98, 98, >>>98, 98, 98, 98, 98, 99, 99, 98, 99, 99, 98, 98, 99, 99, 97, 98, >>>98, 98, 99, 98, 98, 98, 99, 98, 98)), .Names = "var1", row.names = c(NA, >>>80L), class = "data.frame") >>>unique(dat1[,1]) >>>#[1] 97 98 99 96 NA >>>dat2<-dat1[!is.na(dat1)] >>>cut2(dat2,g=4) >>># [1] (96,97] (96,97] (97,98] (97,98] (96,97] (98,99] (96,97] >>>#[8] (97,98] (98,99] (97,98] (98,99] (97,98] (97,98] (96,97] >>>#[15] (96,97] (97,98] (98,99] (97,98] (-Inf,96] (97,98] (97,98] >>>#[22] (98,99] (97,98] (97,98] (98,99] (98,99] (97,98] (98,99] >>>#[29] (97,98] (98,99] (98,99] (98,99] (98,99] (97,98] (98,99] >>>#[36] (-Inf,96] (98,99] (97,98] (97,98] (98,99] (96,97] (97,98] >>>#[43] (98,99] (98,99] (96,97] (98,99] (98,99] (97,98] (97,98] >>>#[50] (97,98] (98,99] (98,99] (97,98] (97,98] (97,98] (97,98] >>>#[57] (97,98] (97,98] (97,98] (98,99] (98,99] (97,98] (98,99] >>>#[64] (98,99] (97,98] (97,98] (98,99] (98,99] (96,97] (97,98] >>>#[71] (97,98] (97,98] (98,99] (97,98] (97,98] (97,98] (98,99] >>>#[78] (97,98] (97,98] >>>#Levels: (-Inf,96] (96,97] (97,98] (98,99] >>>A.K. >>> >>> >>> >>> >>>----- Original Message ----- >>>From: Charles Determan Jr <deter...@umn.edu> >>>To: r-help@r-project.org >>>Cc: >>>Sent: Wednesday, October 17, 2012 3:42 PM >>>Subject: [R] cut2 error >>> >>>To R users, >>> >>>I am trying to use cut2 function from the 'Hmisc' library. However, when I >>>try and run the function on the following variable, I get an error message >>>(displayed below). I suspect it is because of the NA but I have no idea >>>how to address the error. Many thanks to any insights. >>> >>>structure(list(var1 = c(97, 97, 98, 98, 97, 99, 97, >>>98, 99, 98, 99, 98, 98, 97, 97, 98, 99, 98, 96, 98, 98, 99, 98, >>>98, 99, 99, 98, 99, 98, 99, 99, 99, 99, 98, 99, 96, 99, 98, 98, >>>99, 97, 98, 99, 99, 97, 99, 99, 98, 98, 98, 99, NA, 99, 98, 98, >>>98, 98, 98, 98, 98, 99, 99, 98, 99, 99, 98, 98, 99, 99, 97, 98, >>>98, 98, 99, 98, 98, 98, 99, 98, 98)), .Names = "var1", row.names = c(NA, >>>80L), class = "data.frame") >>> >>>cut2(dat[,1], g=4) >>> >>>Warning message: >>>In min(xx[xx > upper]) : no non-missing arguments to min; returning Inf >>> >>>Regards, >>>Charles >>> >>> [[alternative HTML version deleted]] >>> >>>______________________________________________ >>>R-help@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. >>> >>> >>> >> [[alternative HTML version deleted]] >> >>______________________________________________ >>R-help@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. >> > David Winsemius, MD >Alameda, CA, USA > > ______________________________________________ R-help@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.