[R] two questions for R beginners

Petr PIKAL petr.pikal at precheza.cz
Mon Mar 1 12:09:51 CET 2010


Hi

r-help-bounces at r-project.org napsal dne 01.03.2010 11:26:40:

> On Mon, 1 Mar 2010 11:02:59 +0100 Karl Ove Hufthammer <karl at huftis.org> 
> wrote:
> > > * What were your biggest misconceptions or
> > > stumbling blocks to getting up and running
> > > with R?
> > 
> > Also I found it quite confusing that
> 
> One more thing that still trips me up sometimes. '$' works on data 
> frames but not on matrices (with dimnames/colnames). Even though the two 

> objects *look* exactly the same, '$' on one of them works while '$' on 
> the other gives a *very* confusing error message. Example:
> 
>   d=head(iris[1:4])
>   d2=as.matrix(d)
> 
>   d
>   d2
> 
>   d$Sepal.Width
>   d2$Sepal.Width
> 
> Some functions output matrices where you would expect them to output 
> data frames, and then this problem occurs. (Is there a reason why '$' 
> could/should not be made to 'work' on matrices too?)

I understand that 2 dimensional rectangular matrix looks quite similar to 
data frame however it is only a vector with dimensions. As such it can 
have items of only one type (numeric, character, ...). And you can easily 
change dimensions of matrix.

matrix<-1:12
dim(matrix) <- c(2,6)
matrix
dim(matrix) <- c(2,2,3)
matrix
dim(matrix) <-NULL
matrix

So rectangular structure of printed matrix is a kind of coincidence only, 
whereas rectangular structure of data frame is its main feature.

Regards
Petr


> 
> -- 
> Karl Ove Hufthammer
> 
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list