我想使用第二个矩阵中的数据对一个矩阵的数据进行子集化。一个矩阵的列被标记。例如,
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)
mat1 <- matrix(area1, ncol=3, byrow=T)
mat2 <- matrix(id, ncol=3, byrow=T)
dimnames(mat1) <-list(NULL, c("a1","a2","a3"))
mat2
包含 的 id ,因此矩阵的维度是mat1
相同的(即mat1[1,1]
标识, 子矩阵 2 和 3 各有 1 行, 子矩阵 4 将有 4 行数据。后续行与 1,3,5 之间的行数各不相同。这有意义吗?mat2[1,1]
mat1
c(1, 2, 5)
mat2
mat1
最初,矩阵是从数据帧转换而来的,其中 id 在一列,area 在第二列。我找不到在数据帧中的 1 行之间对变量行进行子集化的方法,这就是我切换到矩阵的原因。