[R] Long lines with Sweave
Friedrich.Leisch@tuwien.ac.at
Friedrich.Leisch at tuwien.ac.at
Thu Sep 15 10:36:43 CEST 2005
>>>>> On Thu, 15 Sep 2005 09:35:25 +0200,
>>>>> Martin Maechler (MM) wrote:
>>>>> "Jan" == Jan T Kim <jtk at cmp.uea.ac.uk>
>>>>> on Wed, 14 Sep 2005 14:46:20 +0100 writes:
Jan> On Wed, Sep 14, 2005 at 02:49:56PM +0200, Henrik Andersson wrote:
>>> Jan T. Kim wrote:
>>> > On Wed, Sep 14, 2005 at 10:14:59AM +0200, Henrik Andersson wrote:
>>> >
>>> >>I have used Sweave a lot the latest year, but never really used any long
>>> >>function calls.
>>> >>
>>> >>
>>> >>If I have code which look like this
>>> >>
>>> >>-------------------------------------------------------------
>>> >>gof <- benthic.flux(ID="Gulf of Finland",
>>> >> meas.conc=conc,
>>> >> bw.conc=bw.conc,
>>> >> time=times,
>>> >> substance=expression(DIC~(mmol~m^{-3}))
>>> >> )
>>> >>-------------------------------------------------------------
>>> >>
>>> >>I get the output by Sweave in my pdf file, like this:
>>> >>
>>> >>---------------------------------------------------------------
>>> >> > gof <- benthic.flux(ID = "Gulf of Finland", meas.conc = conc,
>>> >>+ bw.conc = bw.conc, time = times, substance = expression(DIC ~
>>> >>+ (mmol ~ m^{
>>> >>+ -3
>>> >>+ })))
>>> >>----------------------------------------------------------------
>>> >>
>>> >>I can understand that it will not look exactly as entered but why is the
>>> >>'-3' on a line of it's own?
>>> >>
>>> >>Can anyone suggest a idea to how I can make this more readable.
>>> >
>>> >
>>> > It seems you've been thinking LaTeX rather than R ;-) :
>>> > The exponent "-3" in the expression should be enclosed by parentheses
>>> > rather than by curly braces.
>>> >
>>> > The code formatting done by the print method inserts the newline after
>>> > "{" and before "}".
>>> >
>>> > Best regards, Jan
>>>
>>> If you look at demo(plotmath), I get the impression that m^(-3) does not
>>> give me the desired behavior.
>>>
>>> I want to have -3 in superscript without visible parentheses.
>>>
>>> Tricky!
Jan> Ok, I see.
Jan> It seems to me that you could omit the curly braces in the example, I
Jan> don't see any differences between the title in the plots produced by
Jan> plot(1:10, main = expression(DIC~(mmol~m^-3)))
Jan> and
Jan> plot(1:10, main = expression(DIC~(mmol~m^{-3})))
Jan> For more complex exponents, you could try plain() to prevent them from
Jan> being wrongly grouped by operator precedence, as in
Jan> plot(1:10, main = expression(DIC~(mmol~m^plain(-3 + t))))
> neat idea, but
Jan> Not exactly ideal for readability, however...
> indeed. And really only a workaround:
> You shouldn't have to uglify your R code in order to work around
> Sweave "pecularities".
Hmm, it's not really an "Sweave peculiarity", but one of the R
parser. After saving Henrik's code in file test.R I get
R> x = parse("test.R")
R> x
expression(gof <- benthic.flux(ID = "Gulf of Finland", meas.conc = conc,
bw.conc = bw.conc, time = times, substance = expression(DIC ~
(mmol ~ m^{
-3
}))))
R> deparse(x)
[1] "expression(gof <- benthic.flux(ID = \"Gulf of Finland\", meas.conc = conc, "
[2] " bw.conc = bw.conc, time = times, substance = expression(DIC ~ "
[3] " (mmol ~ m^{"
[4] " -3"
[5] " }))))"
and the latter is used by Sweave. The code chunks need to be parsed,
because otherwise there is no way how to know where to insert
output. A source(..., echo=TRUE) will suffer from the same problem.
Best,
Fritz
--
-------------------------------------------------------------------
Friedrich Leisch
Institut für Statistik Tel: (+43 1) 58801 10715
Technische Universität Wien Fax: (+43 1) 58801 10798
Wiedner Hauptstraße 8-10/1071
A-1040 Wien, Austria http://www.ci.tuwien.ac.at/~leisch
More information about the R-help
mailing list