> On 25 Sep 2017, at 14:27 , Prof Brian Ripley <ripley at
stats.ox.ac.uk> wrote:
>
> On 25/09/2017 08:00, Dario Strbenac wrote:
>> Good day,
>> The data function can import a variety of file formats, one of them
being C.S.V.
>
> That isn't its documented purpose. It was the original way for
packages to provide datasets as needed (before lazy data was added).
>
> Problematically, all of the table columns are collapsed into a single data
frame column. This occurs because "files ending .csv or .CSV are read using
read.table(..., header = TRUE, sep = ";", as.is=FALSE)". I
suggest that the semi-colon used as the column separator be changed to a comma.
>
> We suggest you read the documentation ... the (non-English-locales) version
with a semicolon separator is one of four documented formats, and the
English-language one is not. Even if it were desirable it would not be possible
to make a backwards-incompatible change after almost 20 years.
>
> It really isn't clear why anyone would want to use anything other than
the second option (.rda) for data() unless other manipulations are needed (e.g.
to attach a package). But that option was not part of the original
implementation.
>
It can be handy to have raw ascii data included in a package for people to see,
but then you can use the .R mechanism to read the data. It is done for a couple
of cases in the ISwR package, see e.g. the stroke.R and stroke.csv pair. This
also allows you to fix up other things that you have no chcance of specifying
directly in the file:
stroke <- read.csv2("stroke.csv", na.strings=".")
names(stroke) <- tolower(names(stroke))
stroke <- within(stroke,{
sex <-
factor(sex,levels=0:1,labels=c("Female","Male"))
dgn <- factor(dgn)
coma <- factor(coma, levels=0:1,
labels=c("No","Yes"))
minf <- factor(minf, levels=0:1,
labels=c("No","Yes"))
diab <- factor(diab, levels=0:1,
labels=c("No","Yes"))
han <- factor(han, levels=0:1, labels=c("No","Yes"))
died <- as.Date(died, format="%d.%m.%Y")
end <- pmin(died, as.Date("1996-01-01"), na.rm=TRUE)
dstr <- as.Date(dstr,format="%d.%m.%Y")
obsmonths <- as.numeric(end-dstr, "days")/30.6
obsmonths[obsmonths==0] <- 0.1
dead <- !is.na(died) & died < as.Date("1996-01-01")
died[!dead] <- NA
rm(end)
})
-pd
> --
> Brian D. Ripley, ripley at stats.ox.ac.uk
> Emeritus Professor of Applied Statistics, University of Oxford
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
--
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com