我有R中的下列問題:由N×M矩陣和NXC矩陣比較創建真/假矩陣(其中,c <= M)
我有一個名爲「H」矩陣其通過獲得:
v<-t(combn(x, 1))
v<-cbind(v,matrix(0,nrow(v),2))
y<-t(combn(x, 2))
y<-cbind(y,matrix(0,nrow(y),1))
z<-t(combn(x, 3))
H<-rbind(v,y,z)
這將是從標題中的「NXC」矩陣:
[,1] [,2] [,3]
[1,] 1 0 0
[2,] 2 0 0
[3,] 3 0 0
[4,] 4 0 0
[5,] 5 0 0
[6,] 6 0 0
[7,] 7 0 0
[8,] 8 0 0
[9,] 9 0 0
[10,] 10 0 0
[11,] 1 2 0
[12,] 1 3 0
[13,] 1 4 0
接着我具有由reapeating第一列(1:10在此序列創建的「n×m個」矩陣例如)「n」次(基於H的行)。
x = c(1:10)
c<-as.data.frame(t(x))
a<-as.data.frame(c[rep(seq_len(nrow(c)), each=nrow(H)),])
這將使:
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 1 2 3 4 5 6 7 8 9 10
1.1 1 2 3 4 5 6 7 8 9 10
1.2 1 2 3 4 5 6 7 8 9 10
1.3 1 2 3 4 5 6 7 8 9 10
1.4 1 2 3 4 5 6 7 8 9 10
1.5 1 2 3 4 5 6 7 8 9 10
1.6 1 2 3 4 5 6 7 8 9 10
現在,我想的是,這兩個比較,然後顯示「真」時,從「H」之間的數值。的一個數據幀如果不是,則爲「a」和「FALSE」的列。就像這樣:
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
1.1 FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
.
.
.
1.n FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE
謝謝!
你在比較什麼是想出真/假陳述?/仇對了,例如,輸出矩陣中的最後三個真值,你比較什麼來得到它們?還有,你輸出矩陣中的第一個真值和它下面的False值,你比較什麼來獲得它們?只要給出一個可視化圖像,以便可以看到你正在比較的內容 – Onyambu
對於我想比較的輸出的第一行: H矩陣第一行的「1 0 0」與第一行具有「1 2 3 4 5 6 7 8 9 10」的「a」矩陣。 然後在「1」位於「a」矩陣上獲得TRUE。我希望這會有所幫助 –
這是一個閃光點。如果你能詳細說明更多斜紋更好。你已經比較了第1行和第1行你的輸出矩陣的最後一行是什麼?請解釋第一個值爲假,第二個值爲假,最後兩個值爲真。謝謝 – Onyambu