Я хотел бы подмножить данные одной матрицы, используя данные во второй матрице. Столбцы одной матрицы помечены. Например,подмножество матрицы с идентификатором из другой матрицы
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
содержит идентификаторы для mat1
, так что размеры матрицы являются одинаковыми (т.е. mat1[1,1]
идентифицирует mat2[1,1]
. То, что я хочу, чтобы создать подматрицы mat1
, когда строка со значениями c(1, 2, 5)
показывает вверх in mat2
. В этом настоящем мини-примере подматрица 1 будет иметь 2 строки данных, подматрица 2 и 3 имеют по 1 строке каждая, а подматрица 4 будет иметь 4 строки данных от mat1
. Количество строк между последующими строками с 1,3 , 5 варьируется. Имеет ли это смысл?
Происхождение в свою очередь, матрицы были преобразованы из фрейма данных, с идентификатором в одном столбце и в области во втором столбце. Я не мог найти способ подмножества переменных строк между строками 1 в пределах кадра данных, поэтому я переключился на матрицу.
Добро пожаловать в SO, и спасибо вам за четко заданный вопрос. Можете ли вы поделиться немного кода, который вы пробовали до сих пор, и как он не работал? Кроме того, можете ли вы точно указать, как должен выглядеть ваш ожидаемый результат? – Justin
Спасибо за хороший пример! Не могли бы вы также разместить свой желаемый результат, т. Е. Четыре подматрицы. Это значительно облегчит понимание того, чего вы хотите достичь. Приветствия. – Henrik