-1
我有兩個矩陣,M1
(6400x6)和M2
(315x3)如何使用索引向量從矩陣中提取行?
M2
是M1
一個子集。我在M2
上做了一些數據插補,現在我想用M2
的行索引從M1
中提取相應的行。我該如何解決這個問題?
由於
我有兩個矩陣,M1
(6400x6)和M2
(315x3)如何使用索引向量從矩陣中提取行?
M2
是M1
一個子集。我在M2
上做了一些數據插補,現在我想用M2
的行索引從M1
中提取相應的行。我該如何解決這個問題?
由於
下面是可能有助於一個例子:
m1 <- matrix(runif(5000),ncol=50) #define a large matrix with random numbers
m2 <- m1[5:17,8:30] #create a subset starting from index [5,8]
#How to retrieve the information on the location of m2 within m1:
idx <- which(m1 %in% m2, arr.ind = TRUE)[1]
rownum <- idx %% nrow(m1)
colnum <- ceiling(idx/nrow(m1))
#> rownum
#[1] 5
#> colnum
#[1] 8
這意味着該子集平方米的初始點(左上角,可以這麼說)位於所述更大的矩陣內m1在第5行第8列。
我希望這會有所幫助。但是,如果您已經執行了更復雜的修改,並且子集不僅僅是大矩陣的簡單矩形集羣,並且條目以相同的方式排序,那麼我相信您需要提供更多關於構建子矩陣,以獲得有用的答案。
你是如何從'M1'中提取'M2'的?這對於繼續進行至關重要。 – MichaelChirico