[R] How to avoid "$ operator is invalid for atomic vectors"

Nordlund, Dan (DSHS/RDA) NordlDJ at dshs.wa.gov
Thu Nov 6 19:04:49 CET 2008


> -----Original Message-----
> From: r-help-bounces at r-project.org 
> [mailto:r-help-bounces at r-project.org] On Behalf Of anna freni 
> sterrantino
> Sent: Thursday, November 06, 2008 10:00 AM
> To: cruz; r-help at r-project.org
> Subject: Re: [R] How to avoid "$ operator is invalid for 
> atomic vectors"
> 
> Hi Cruz
> you don't need to assign dimension or classes to your objects.
> It's easier if you  do like this
> 
> 
> > a=c(0,1,2,4,1,1)
> > length(a)
> [1] 6
> > b=matrix(a,3,2,byrow=T)
> > b
>      [,1] [,2]
> [1,]    0    1
> [2,]    2    4
> [3,]    1    1
> of course you can change the colnames and assign what 
> you prefer
> 
> > colnames(b)=c("x","y")
> 
> but if you try to recall "x" with
> b$x 
> is not going to work
> like that, 
> you have two option:
> 
> 1. switch  form matrix to a dataframe:
> > c=as.data.frame(b)
> > c
>   x y
> 1 0 1
> 2 2 4
> 3 1 1
> > c$x
> [1] 0 2 1
> 
> no problems.
> 
> 2. Can get the column  "x"
> on the matrix b as
> b[,1]
> [1] 0 2 1
> 
> just giving the  position.
> 
> 
> Hope that this helps.
> 
> Best Regards
> Anna
> 
> 
> 
>  Anna Freni Sterrantino
> Ph.D Student 
> Department of Statistics
> University of Bologna, Italy
> via Belle Arti 41, 40124 BO.
> 
> 
> 
> 
> ________________________________
> Da: cruz <cruadam at gmail.com>
> A: r-help at r-project.org
> Inviato: Giovedì 6 novembre 2008, 17:22:42
> Oggetto: [R] How to avoid "$ operator is invalid for atomic vectors"
> 
> Hi,
> 
> I am writing this in a wrong way, can someone please correct me?
> 
> > A <- matrix()
> > length(A) <- 6
> > dim(A) <- c(3,2)
> > colnames(A) <- c("X","Y")
> > A
>       X  Y
> [1,] NA NA
> [2,] NA NA
> [3,] NA NA
> > A$X
> Error in A$X : $ operator is invalid for atomic vectors
> >
> 
> Thanks,
> cruz
> 

You can also use the column name with the matrix

A[,'X']

Hope this is helpful,

Dan

Daniel J. Nordlund
Washington State Department of Social and Health Services
Planning, Performance, and Accountability
Research and Data Analysis Division
Olympia, WA  98504-5204
 
 



More information about the R-help mailing list