Re: [R] How to get Quartiles when data contains both numeric variables and factors

2011-10-31 Thread R. Michael Weylandt
Let me caution against this approach as factors are generally stored in R as integers but in a way that's not particularly meaningful for most applications. This will silently make use of those internal codes, the quantiles of which probably are not helpful for what you are looking for. Furthermore

Re: [R] How to get Quartiles when data contains both numeric variables and factors

2011-10-31 Thread andrija djurovic
Or this: > str(x) 'data.frame': 100 obs. of 6 variables: $ x1: num 0.4548 0.0352 0.6353 0.6017 0.8588 ... $ x2: num 0.849 0.335 0.986 0.617 0.212 ... $ x3: num 1.35 0.46 1.67 1.23 1.14 ... $ x4: num 2.67 0.91 3.31 2.48 2.28 ... $ x5: Factor w/ 3 levels "1","2","3": 3 1 3 3 3 1 2 3 3 1 .

Re: [R] How to get Quartiles when data contains both numeric variables and factors

2011-10-31 Thread R. Michael Weylandt
Just add something to skip the non-numeric variables: e.g., lapply(x, function(x) if(is.numeric(x)) quantile(x,c(0.01, 0.99)) else levels(x)) If you want to use sapply(), you'll need the factor case to return something that is 2x1 so it can all be simplified nicely. Michael On Mon, Oct 31, 201

Re: [R] How to get Quartiles when data contains both numeric variables and factors

2011-10-31 Thread andrija djurovic
Hi, you are almost there: >sapply(x, function(x) quantile(as.numeric(x), c(0.01, 0.99))) x1 x2 x3x4 x5 x6 1% 0.0351777 0.007628441 0.225533 0.4459064 1 1 99% 0.9938919 0.964901423 1.826894 3.6226944 3 2 Andrija On Mon, Oct 31, 2011 at 2:09 PM, aajit75 wrote

[R] How to get Quartiles when data contains both numeric variables and factors

2011-10-31 Thread aajit75
When data contains both factor and numeric variables, how to get quartiles for all numeric variables? n <- 100 x1 <- runif(n) x2 <- runif(n) x3 <- x1 + x2 + runif(n)/10 x4 <- x1 + x2 + x3 + runif(n)/10 x5 <- factor(sample(c('a','b','c'),n,replace=TRUE)) x6 <- factor(1*(x5=='a' | x5=='c')) dat