[R] Filling data frame data into a matrix - please help
Henrique Dallazuanna
wwwhsd at gmail.com
Thu Jan 24 19:08:22 CET 2008
Try this:
d1 <- data.frame(d1)
d1$V3 <- as.numeric(as.character(d1$V3))
xtabs(V3 ~ r1+c1, data=d1)
You can substitute 0 with NA:
d1.tb <- xtabs(V3 ~ r1+c1, data=d1)
d1.tb[d1.tb==0] <- NA
On 24/01/2008, Srinivas Iyyer <srini_iyyer_bio at yahoo.com> wrote:
> Dear group,
> I have a data.frame (d1) with various elements and a
> matrix (m1) created with NA (or 1s). I want to read
> each row,column in d1 and fill its numeric value in
> m1.
>
> Could some one help me because I have 130K rows and
> 500 column data.frame object and I was told that a for
> loop will take a long time.
>
> Thank you.
>
> > r1 <- c("A","A","B","B")
> > c1 <- c("Apple","Andy","Boy","Ball")
> > v1 <- as.numeric(c(0.001,0.02,0.3,NA))
> > d1 <- cbind(r1,c1,as.numeric(v1))
> > d1 <- data.frame(d1)
> > d1
> r1 c1 V3
> 1 A Apple 0.001
> 2 A Andy 0.02
> 3 B Boy 0.3
> 4 B Ball <NA>
>
>
> > m1 <- matrix(NA,2,4)
> > rownames(m1)<- unique(r1)
> > colnames(m1)<-unique(c1)
> > m1
> Apple Andy Boy Ball
> A NA NA NA NA
> B NA NA NA NA
>
>
> I want to have:
>
> result:
>
>
> Apple Andy Boy Ball
> A 0.001 0.02 NA NA
> B NA NA 0.3 NA
>
>
> thanks
> Srini
>
>
> ____________________________________________________________________________________
> Be a better friend, newshound, and
>
> ______________________________________________
> 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.
>
--
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O
More information about the R-help
mailing list