From friendly at yorku.ca  Wed Mar 23 15:03:08 2011
From: friendly at yorku.ca (Michael Friendly)
Date: Wed, 23 Mar 2011 10:03:08 -0400
Subject: [Rd] system.file() to read a text file from a vignette
Message-ID: <4D89FD9C.7060906@yorku.ca>

[Env: R 2.12.2, WinXp]

In a vignette for the vcdExtra package, I had a text file, tv.dat under 
data/, that I used in the vignette as

<<tv1,results=verbatim>>=
tv.data<-read.table(system.file("data","tv.dat",package="vcdExtra"))
head(tv.data,5)
@

I was told that this now generates a warning for non-Rdata files in R 
CMD check. But I'm now confused about
where to put this and how to use system.file() in the vignette to read 
it. The R-exts.pdf says

The R working directory for all vignette tests in R CMD
check is the installed version of the ?doc? subdirectory. Make sure all 
files needed by the vignette
(data sets, . . . ) are accessible by either placing them in the 
?inst/doc? hierarchy of the source
package, or using calls to system.file().

So, I moved this file to inst/doc/extdata/tv.dat, and changed the 
vignette to

<<tv1,results=verbatim>>=
tv.data<-read.table(system.file("inst","doc","extdata","tv.dat",package="vcdExtra"))
head(tv.data,5)
@

But I get the error:
Error: processing vignette 'vcd-tutorial.Rnw' failed with diagnostics:
chunk 23 (label=tv1)
Error in read.table(system.file("inst", "doc", "extdata", "tv.dat", 
package = "vcdExtra")) :
no lines available in input

How can I fix this?

-- 
Michael Friendly     Email: friendly AT yorku DOT ca
Professor, Psychology Dept.
York University      Voice: 416 736-5115 x66249 Fax: 416 736-5814
4700 Keele Street    Web:   http://www.datavis.ca
Toronto, ONT  M3J 1P3 CANADA



[Rd] system.file() to read a text file from a vignette
Michael Friendly