Jean-Louis Abitbol
2010-Jan-24 12:24 UTC
[R] Rearranging long dataframe for printing in Sweave (and recoding a factor)
Dear R-Helpers,
I have to print a dataframe with >1000 rows and 2 columns for a report
done with Sweave.
I could use Hmisc latex function with longtable option.
However it is a waiste of space and paper given that I have only 2 (or
sometime 3) columns in the dataframe.
So it came to my mind that I could maybe rearrange the dataframe and
create several new variables from the original 2 in a tabular way for
printing in less space.
I started with this:
library(Hmisc)
test <- data.frame(conc=trunc(runif(1000, 1,
1000)),nam=rep(c("A","B"),500))
test$groups <- cut2(test$conc,g=10)
The idea being to use cut2 to get 10 groups with approx the same number
of rows and then subset on the groups to create 10 new variables.
I am stuck right away as cut2 produces test$groups with the levels:
levels(test$groups)
[1] "[ 1,100)" "[100,215)" "[215,312)"
"[312,411)" "[411,500)"
"[500,598)" "[598,700)" "[700,797)"
"[797,890)" "[890,997]"
and so my first question is: how do I recode the levels in a more or
less automatic way (ie not having to spell them) so that they are
replaced by a factor with values 1 to 10 in this case or more generally
in 1 to g levels ? (and then I can subset in a loop and create conc1,
conc2, conc3 etc..)
My second question is: is there a function around or an options in one
of the latex functions to do what I have explained at the beginning of
this mail ! I did not find that in Hmisc latex or in xtable.
Thanks to all for your help.
Best wishes, JL
--
Jean-Louis Abitbol
abitbol at sent.com
Tel 33 (0)6 24 47 59 34
1 ter Rue C?line, 92160
Antony, France
Liviu Andronic
2010-Jan-24 15:56 UTC
[R] Rearranging long dataframe for printing in Sweave (and recoding a factor)
Hello On 1/24/10, Jean-Louis Abitbol <abitbol at sent.com> wrote:> I have to print a dataframe with >1000 rows and 2 columns for a report > done with Sweave. > > I could use Hmisc latex function with longtable option. > However it is a waiste of space and paper given that I have only 2 (or > sometime 3) columns in the dataframe. > > So it came to my mind that I could maybe rearrange the dataframe and > create several new variables from the original 2 in a tabular way for > printing in less space. >There was a recent discussion on lyx-users [1] on a similar issue. I am not sure whether the original poster found a solution, though. Liviu [1] http://www.mail-archive.com/lyx-users at lists.lyx.org/msg78933.html