I would like to subset the data of one matrix using data in a second matrix. The columns of one matrix is labeled. For example,
area1 <- c(9836374,635440,230
I think from what you said, you wanted to keep it as a data frame. You can easily make submatrices by grabbing rows with certain column values.
Here, I put the data frame back together and made a submatrix just for 1. You can easily add onto it by doing something like using cbind on multiple "area1" columns.
> area1 <- c(9836374,635440,23018,833696,936079,1472449,879042,220539,870581,217418,552303,269359,833696,936079,1472449,879042,220539,870581, 833696,936079,1472449,879042,220539,870581)
> id <- c(1,2,5,30,31,34,1,2,5,1,2,5,1,2,5,30,31,34,51,52,55,81,82,85)
> original<-as.data.frame(cbind(id,area1))
> original[original$id==1,]
id area1
1 1 9836374
7 1 879042
10 1 217418
13 1 833696
Then you can do what I said before like this.
> col1<-original[original$id==1,"area1"]
> col2<-original[original$id==2,"area1"]
> col3<-original[original$id==5,"area1"]
> submat<-cbind(col1,col2,col3)
> colnames(submat)<-c("a1","a2","a3")
> submat
a1 a2 a3
[1,] 9836374 635440 23018
[2,] 879042 220539 870581
[3,] 217418 552303 269359
[4,] 833696 936079 1472449