看板 Statistics 關於我們 聯絡資訊
※ 引述《zzss (阿文)》之銘言: : ------------------------------------------------------------------------ : TITLE請著名軟體類別 : 按ctrl+v可預覽 發文前請把灰色的註解刪除 : 可使用ctrl+y刪除一整行 : [軟體程式類別]: : R : [程式問題]: : 想請問一下假設我現在有一個矩陣,我想檢查每一列是否有相同要怎麼做呢? : 列如 1,2,3,5,7 : 2,2,2,2,2 : 1,2,3,5,7 : 那就是1,3列相同,如果我現在一次有10000*5的矩陣要檢查大概要怎做 謝謝 : [軟體熟悉度]: : 低(1~3個月) : 有試過用which和metch做 但怎麼試就是不對 希望有人可以幫個忙 謝謝 : ----------------------------------------------------------------------------- 我用 loop 硬刻一個 20x5 的 matrix 做例子給你看。 因為是硬刻的,所以效能就別計較了。 例子中除了第一列之外,其它應該照用就可以了。 mat <- matrix(c(1:50, 1:50), 20, 5, byrow=T) pairN <- dim(mat)[1] * (dim(mat)[1]-1) / 2L pairIndex <- matrix(0L, pairN, 2) i <- 1L j <- 2L k <- 1L for(k in (1L):pairN) { pairIndex[k, ] <- c(i, j) if(j < dim(mat)[1]) { j <- j + 1L } else { i <- i + 1L j <- i + 1L } } for(m in 1L:pairN){ if(all(mat[pairIndex[m,1],] == mat[pairIndex[m,2],])) { cat( "These two rows are Identical:", pairIndex[m,], "\n" ) } } -- http://apansharing.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.37.172