如何通过在R中施加阈值来替换矩阵的元素

时间:2015-02-20 06:27:58

标签: r matrix

我在R中有一个方阵M,其所有条目都是0.5到1.9之间的实数。我想通过强加一个条件来建立邻接矩阵,每当每个元素小于0.6时,该元素应该替换为零,其他明智的元素应该替换为1.这样我想做的所有141阈值  seq(0.5, 1.9, 0.01)这样我就可以获得141个邻接矩阵。我怎么能得到这个?如何在R中保存或打印所有这些矩阵?任何帮助将不胜感激。请耐心地了解R :-)

1 个答案:

答案 0 :(得分:2)

您可以使用lapply循环“Seq1”的值,创建二进制矩阵((M>=x)+0L)并将其存储在列表中(“lst”)

lst <- lapply(Seq1, function(x) (M >=x)+0L)
length(lst)
#[1] 141

数据

Seq1 <- seq(0.5, 1.9, 0.01)
set.seed(24)
M <- matrix(sample(Seq1, 10*10, replace=TRUE), ncol=10)