[R] help on establishing a matrix
Jim Lemon
jim at bitwrit.com.au
Thu Jan 31 09:57:44 CET 2008
Gator Connection wrote:
> I am a beginner and this is a naive question.
> I have the following data set.
> row column height
> 1 2 96
> 3 7 67
> 9 25 77
> ......
> I have a matrix of 50*100 data points and about 60% of them are zeros.
> I want to put the height data into the matrix according to their row and column numbers. does anybody have experience in setting up such matrix?
> Your help is highly appreciated.
> Jack
Hi Jack,
Well, what do you know? I thought that this:
x<-matrix(c(rep(1:5,each=3),rep(1:3,5),sample(10:100,15)),ncol=3)
x
newmat<-matrix(0,nrow=5,ncol=3)
newmat[x[,1],x[,2]]<-x[,3]
would do it, but it doesn't. However,
# scramble the matrix
x1<-x[sample(1:15,15),]
# create a new matrix by ordering it by row and column
newmat<-matrix(x1[order(x1[,1],x1[,2]),3],ncol=3,byrow=TRUE)
newmat
works for me
Jim
More information about the R-help
mailing list