[R] Second subsequent calls to function fails. Please help debug.

2008-03-29 Thread Michael Kubovy
Dear R-helpers,

I'm running Sweave() on a file. First run:
  Sweave('20080331.Rnw')
Writing to file 20080331.tex
Processing code chunks ...
  1 : term hide (label=setup)
  2 : echo term verbatim (label=oatvar)
  3 : echo term verbatim (label=oatvar1)
  4 : echo term verbatim (label=oat2wt)
  5 : echo term verbatim (label=oat2wt)
  6 : echo term verbatim (label=lm)
  7 : echo term verbatim (label=diag)
  8 : echo term verbatim (label=tukey)
  9 : echo term verbatim (label=efficiency)
10 : echo term verbatim (label=wear)
11 : echo term verbatim (label=wearX)
12 : echo term verbatim (label=gyd)
Loading required package: crossdes
Loading required package: AlgDesign
Loading required package: gtools

Attaching package: 'gtools'


The following object(s) are masked from package:faraway :

 logit

Loading required package: MASS
13 : echo term verbatim (label=2wt)
14 : echo term verbatim (label=ablm)
15 : echo term verbatim (label=abaov)

You can now run LaTeX on '20080331.tex'
There were 42 warnings (use warnings() to see them)

Second run:
  Sweave('20080331.Rnw')
Writing to file 20080331.tex
Processing code chunks ...
  1 : term hide (label=setup)
  2 : echo term verbatim (label=oatvar)
  3 : echo term verbatim (label=oatvar1)
  4 : echo term verbatim (label=oat2wt)
  5 : echo term verbatim (label=oat2wt)
  6 : echo term verbatim (label=lm)
  7 : echo term verbatim (label=diag)
  8 : echo term verbatim (label=tukey)

Error:  chunk 8 (label=tukey)
Error in parse(text = x) :
   unexpected symbol in yield ~ variety + block + preds(yield+variety 
+block+preds.sq)sq

It failed in:

tukey=
require(alr3)
tukey.nonadd.test(ov.lm)
@

At that point I ran debug() on the call:
debug(tukey.nonadd.test)
tukey.nonadd.test(ov.lm)
debugging in: tukey.nonadd.test(ov.lm1)
debug: {
 envir - environment(formula(m))
 dd - eval(m$call$data, envir)
 subs - eval(m$call$subset, envir)
 wgts - eval(m$call$weights, envir)
 naa - m$call$na.action
 dd - data.frame(dd, preds.sq = predict(m, dd)^2)
 uf - update.formula(formula(m$terms), ~. + preds.sq)
 environment(uf) - environment(NULL)
 mup - if (is.null(naa))
 lm(uf, data = dd, subset = subs, weights = wgts)
 else lm(uf, data = dd, subset = subs, weights = wgts, na.action =  
naa)
 if (mup$rank  m$rank) {
 ans - summary(mup)$coef[, 3:4]
 ans - ans[match(preds.sq, rownames(ans)), ]
 ans[2] - pnorm(-abs(ans[1])) * 2
 ans
 }
 else c(NA, NA)
}
Browse[1]
debug: envir - environment(formula(m))
Browse[1]
debug: dd - eval(m$call$data, envir)
Browse[1]
debug: subs - eval(m$call$subset, envir)
Browse[1]
debug: wgts - eval(m$call$weights, envir)
Browse[1]
debug: naa - m$call$na.action
Browse[1]
debug: dd - data.frame(dd, preds.sq = predict(m, dd)^2)
Browse[1]
debug: uf - update.formula(formula(m$terms), ~. + preds.sq)
Browse[1]
debug: environment(uf) - environment(NULL)
Browse[1]
debug: mup - if (is.null(naa)) lm(uf, data = dd, subset = subs,  
weights = wgts) else lm(uf,
 data = dd, subset = subs, weights = wgts, na.action = naa)
Browse[1]
Error in parse(text = x) :
   unexpected symbol in yield ~ variety + preds(yield+variety 
+preds.sq)sq

Advice?
_
Professor Michael Kubovy
University of Virginia
Department of Psychology
USPS: P.O.Box 400400Charlottesville, VA 22904-4400
Parcels:Room 102Gilmer Hall
 McCormick RoadCharlottesville, VA 22903
Office:B011+1-434-982-4729
Lab:B019+1-434-982-4751
Fax:+1-434-982-4766
WWW:http://www.people.virginia.edu/~mk9y/



[[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.


Re: [R] Second subsequent calls to function fails. Please help debug.

2008-03-29 Thread Duncan Murdoch
On 29/03/2008 9:47 PM, Michael Kubovy wrote:
 Dear R-helpers,
 
 I'm running Sweave() on a file. First run:
   Sweave('20080331.Rnw')
 Writing to file 20080331.tex
 Processing code chunks ...
   1 : term hide (label=setup)
   2 : echo term verbatim (label=oatvar)
   3 : echo term verbatim (label=oatvar1)
   4 : echo term verbatim (label=oat2wt)
   5 : echo term verbatim (label=oat2wt)
   6 : echo term verbatim (label=lm)
   7 : echo term verbatim (label=diag)
   8 : echo term verbatim (label=tukey)
   9 : echo term verbatim (label=efficiency)
 10 : echo term verbatim (label=wear)
 11 : echo term verbatim (label=wearX)
 12 : echo term verbatim (label=gyd)
 Loading required package: crossdes
 Loading required package: AlgDesign
 Loading required package: gtools
 
 Attaching package: 'gtools'
 
 
   The following object(s) are masked from package:faraway :
 
logit
 
 Loading required package: MASS
 13 : echo term verbatim (label=2wt)
 14 : echo term verbatim (label=ablm)
 15 : echo term verbatim (label=abaov)
 
 You can now run LaTeX on '20080331.tex'
 There were 42 warnings (use warnings() to see them)
 
 Second run:
   Sweave('20080331.Rnw')
 Writing to file 20080331.tex
 Processing code chunks ...
   1 : term hide (label=setup)
   2 : echo term verbatim (label=oatvar)
   3 : echo term verbatim (label=oatvar1)
   4 : echo term verbatim (label=oat2wt)
   5 : echo term verbatim (label=oat2wt)
   6 : echo term verbatim (label=lm)
   7 : echo term verbatim (label=diag)
   8 : echo term verbatim (label=tukey)
 
 Error:  chunk 8 (label=tukey)
 Error in parse(text = x) :
unexpected symbol in yield ~ variety + block + preds(yield+variety 
 +block+preds.sq)sq
 
 It failed in:
 
 tukey=
 require(alr3)
 tukey.nonadd.test(ov.lm)
 @
 
 At that point I ran debug() on the call:
 debug(tukey.nonadd.test)
 tukey.nonadd.test(ov.lm)
 debugging in: tukey.nonadd.test(ov.lm1)
 debug: {
  envir - environment(formula(m))
  dd - eval(m$call$data, envir)
  subs - eval(m$call$subset, envir)
  wgts - eval(m$call$weights, envir)
  naa - m$call$na.action
  dd - data.frame(dd, preds.sq = predict(m, dd)^2)
  uf - update.formula(formula(m$terms), ~. + preds.sq)
  environment(uf) - environment(NULL)
  mup - if (is.null(naa))
  lm(uf, data = dd, subset = subs, weights = wgts)
  else lm(uf, data = dd, subset = subs, weights = wgts, na.action =  
 naa)
  if (mup$rank  m$rank) {
  ans - summary(mup)$coef[, 3:4]
  ans - ans[match(preds.sq, rownames(ans)), ]
  ans[2] - pnorm(-abs(ans[1])) * 2
  ans
  }
  else c(NA, NA)
 }
 Browse[1]
 debug: envir - environment(formula(m))
 Browse[1]
 debug: dd - eval(m$call$data, envir)
 Browse[1]
 debug: subs - eval(m$call$subset, envir)
 Browse[1]
 debug: wgts - eval(m$call$weights, envir)
 Browse[1]
 debug: naa - m$call$na.action
 Browse[1]
 debug: dd - data.frame(dd, preds.sq = predict(m, dd)^2)
 Browse[1]
 debug: uf - update.formula(formula(m$terms), ~. + preds.sq)
 Browse[1]
 debug: environment(uf) - environment(NULL)
 Browse[1]
 debug: mup - if (is.null(naa)) lm(uf, data = dd, subset = subs,  
 weights = wgts) else lm(uf,
  data = dd, subset = subs, weights = wgts, na.action = naa)
 Browse[1]
 Error in parse(text = x) :
unexpected symbol in yield ~ variety + preds(yield+variety 
 +preds.sq)sq
 
 Advice?
 

I don't see anything obvious, so I guess it's the usual advice:

Use traceback() to see what function was trying to do the parsing. 
Debug that function, and see why it was trying to parse that string.
If that doesn't make it obvious, put together a minimal reproducible 
version that others can try, and see if anyone else can spot the problem.

Duncan Murdoch

__
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.