[R] matrix values linked to vector index
arun
smartpink111 at yahoo.com
Fri Oct 11 18:49:48 CEST 2013
Hi,
In the example you showed:
m1<- matrix(0,length(vec),max(vec))
1*!upper.tri(m1)
#or
m1[!upper.tri(m1)] <- rep(rep(1,length(vec)),vec)
#But, in a case like below, perhaps:
vec1<- c(3,4,5)
m2<- matrix(0,length(vec1),max(vec1))
indx <- cbind(rep(seq_along(vec1),vec1),unlist(tapply(vec1,list(vec1),FUN=seq),use.names=FALSE))
m2[indx]<- 1
m2
# [,1] [,2] [,3] [,4] [,5]
#[1,] 1 1 1 0 0
#[2,] 1 1 1 1 0
#[3,] 1 1 1 1 1
A.K.
Hi-
I'd like to create a matrix of 0's and 1's where the number of
1's in each row defined by the value indexed in another vector, and
where the (value-1) is back-filled by 0's.
For example, given the following vector:
vec= c(1,2,3)
I'd like to produce a matrix with dimensions (length(vec), max(vec)):
1,0,0
1,1,0
1,1,1
Thank you!
More information about the R-help
mailing list