If one calls data.entry() with a matrix:
A = matrix(0,2,2)
data.entry(A)
everything works fine except that it triggers a warning:
Warning message:
the condition has length > 1 and only the first element will be used in:
if (dim(x) == dim(args[[i]])) rn <- dimnames(args[[i]])[[1]] else rn
<- NULL
This is triggered by the following lines in de.restore() [in
src/library/utils/R/de.R]:> if( dim(x) == dim(args[[i]]) )
> rn <- dimnames(args[[i]])[[1]]
> else rn <- NULL
It would seem to make sense to replace the condition with
if (nrow(x) == nrow(args[[i]]))
(de.restore() is only called if an element of the list passed to
data.entry
has more than one column)
On a side note, I'm curious why
> > A = matrix(0,2,2)
> > is.vector(A)
> [1] FALSE
> > is(A,"vector")
> [1] TRUE
...
------------------
sessionInfo()
R version 2.5.1 (2007-06-27)
i486-pc-linux-gnu
locale:
LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C
attached base packages:
[1] "stats" "graphics" "grDevices"
"utils" "datasets" "methods"
[7] "base"