[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