如果factor
的第i和第j個元素是(i,j)元素爲1,則我想將尺寸n factor
轉換爲×n二元組matrix
相同,否則爲0。R:將因子轉換爲二進制矩陣的有效方法
以下是一種天真的方式來實現我想要做的事情,但是這段代碼很慢。有沒有更有效的方法來做同樣的事情?
size <- 100
id <- factor(sample(3, size, replace=TRUE))
mat <- matrix(0, nrow=size, ncol=size)
for(i in 1:size){
for(j in 1:size){
if(id[i] == id[j]){
mat[i, j] <- 1
}
}
}
對不起,我錯了複製和粘貼。 – myuuuuun
是的......謝謝 – myuuuuun
而不是'if(...)'做'mat [i,j] < - (id [i] == id [j])+ 0L'。 –