[R] matrix problem

William Dunlap wdunlap at tibco.com
Tue Aug 10 20:24:39 CEST 2010


> -----Original Message-----
> From: r-help-bounces at r-project.org 
> [mailto:r-help-bounces at r-project.org] On Behalf Of zhenjiang xu
> Sent: Tuesday, August 10, 2010 11:03 AM
> To: R-help at r-project.org
> Subject: [R] matrix problem
> 
> Hi,
> 
> I have a file like this:
> 1 2 0.1
> 2 3 0.2
> 3 1 0.3
> 
> And I want to read it to create a matrix like this:
>      [,1]     [,2]    [,3]
> [1,]    0       0.1     0
> [2,]    0       0        0.2
> [3,]    0.3    0        0
> 
> How can I do it efficiently? Thanks.

Use a k-column matrix as a subscript into your
k-dimensional output array.  (k is 2 in your case.)

E.g., 'input' is your matrix in a form that one
can paste into an R session:
  > input <- cbind(c(1,2,3), c(2,3,1), c(.1,.2,.3))
  > size <- max(input[,1:2]) # you may want something else here
  > output <- matrix(0.0, size, size)
  > output[input[,1:2]] <- input[,3]
  > output
       [,1] [,2] [,3]
  [1,]  0.0  0.1  0.0
  [2,]  0.0  0.0  0.2
  [3,]  0.3  0.0  0.0

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com  

> -- 
> Best,
> Zhenjiang
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> 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