我有一个名为originaldata的真值和假值矩阵。第二个X测量矩阵称为finalmatrix。为了在最终矩阵中仅保留originaldata中为TRUE的值并将其余值设置为0,我将执行以下循环
for (row in 1:sqrt(length(finalmatrix)))
{
for (col in 1:sqrt(length(finalmatrix)))
{
if (originaldata[row,col] == FALSE) {
finalmatrix[row,col] <- 0
}
}
}
但这很慢,尤其是大矩阵。有没有更简单的方法来做到这一点?
答案 0 :(得分:1)
您可以直接将所有假元素设置为零。
finalmatrix[!originaldata] = 0
答案 1 :(得分:1)
您可以将两个矩阵相乘,FALSE
中originaldata
的所有值都将变为零。
finalmatrix <- finalmatrix * originaldata