use*_*111 4 r vector matrix elements matching
我对R中的编程很陌生.
我有一个数字矩阵mat,以及一个矩阵列表matlist.我想检查矩阵是否mat匹配(即,是否相同)的任何元素matlist.我尝试了这个%in%方法,但这并没有给我希望的输出.
这就像我的代码.
mat <- rbind(c(0,1),
c(1,0))
mat2 <- rbind(c(1,1),
c(1,0))
matlist <- vector(mode="list", 2)
matlist[[1]] <- mat
matlist[[2]] <- mat2
Run Code Online (Sandbox Code Playgroud)
如果我然后尝试mat %in% matlist我得到:
FALSE FALSE FALSE FALSE
我正在寻找一个这样的表达式来评估TRUE.
这看起来应该很简单,但我找不到答案!
你可以尝试类似的东西:
sapply(matlist,function(x) identical(x,mat)),或者@jbaums在下面提到: sapply(matlist,identical,mat)
或者自己构建一个自定义函数来检查任何矩阵列表中的任何矩阵:
matrix_is_in <- function(my_mat, my_mat_list) {
sapply(my_matlist, function(x) identical(x, my_mat))
}
Run Code Online (Sandbox Code Playgroud)
然后尝试一下:
matrix_is_in(mat,matlist)