Skip to content

data.frame bug?

5 messages · Chong Gu, Patrick Connolly, Thomas Lumley +1 more

#
I'd like to create a data frame with components
[1] 2
[,1] [,2]
[1,]    0    0

I used to be able to do it with
But now I get a error message.  

Can I still do what I want?  Thanks for any help.

Chong Gu
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
#
On Thu, 17-Oct-2002 at 04:30PM -0500, Chong Gu wrote:
|> 
|> I'd like to create a data frame with components
|> 
|> > jk$x1
|> [1] 2
|> > jk$x2
|>          [,1] [,2]
|> [1,]    0    0
|> 
|> I used to be able to do it with
|> 
|> > jk <- data.frame(x1=2,x2=I(matrix(0,1,2)))
|> 
|> But now I get a error message.  
|> 
|> Can I still do what I want?  Thanks for any help.

Not if you want to call and use it a data frame.  A list as you've
made could still suit your purposes, but if you want a dataframe, it
has to have elements that are of equal lengths.

best
#
On Thu, 17 Oct 2002, Chong Gu wrote:

            
If your computer does what mine does then this isn't what gives an error
message. The error message comes when you print.
Error in data.frame(x1 = "2", x2 = c("0", "0"), check.names = FALSE,
row.names = "1") :
        row.names should specify one of the variables
[1] 2
[,1] [,2]
[1,]    0    0

and it's caused in format.data.frame by the fact that format(jk[[2]]) is a
vector, not a matrix.

	-thomas

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
#
On Fri, 18 Oct 2002, Patrick Connolly wrote:

            
This is slightly misleading.  It's quite possible to have complicated
objects in a data frame, including things that are in fact matrices
eg
   data.frame(a=1:2,b=Surv(1:2))
where the second column is a matrix with some extra attributes. This is a
Good Thing.

It has in the past been possible to have matrices in data frames, and it
still is possible to create them -- the reported bug is in printing them,
and I think it is a bug.

	-thomas



-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
#
The example is a bug in format.AsIs which I have just fixed.
On Fri, 18 Oct 2002, Thomas Lumley wrote: