根据不同位数对矩阵行进行排序

之上

我有一个包含二进制向量行的矩阵:

library(gtools)
mat<-permutations(2,6,v=c(0,1),repeats.allowed=TRUE)

我想对矩阵的行进行排序,以使每一行与其直接邻居(上下)仅相差1位数。

这可能吗?

乔斯利伯

有趣的问题!我想实现此目的的一种方法是从位数较少的矩阵中递归构建这样的矩阵。假设我们有一个n位矩阵(包含所有2 ^ n个唯一的n位序列),每个邻居最多相差一个。如果我们rbind将此矩阵及其反转(按行),则结果的每一行最多相差1,并且中间的两行将相同。我们可以在前半部分前面添加0,在后半部分前面添加1。结果包含所有2 ^(n + 1)个唯一(n + 1)位序列,并且所有邻居之间的距离最大为1。

对于基本情况,我们可以将(0 1)用于1位矩阵。

get.mat <- function(size) {
  if (size == 1) {
    return(matrix(c(0, 1), ncol=1))
  } else {
    smaller <- get.mat(size-1)
    return(rbind(cbind(0, smaller), cbind(1, smaller[nrow(smaller):1,])))
  }
}
get.mat(4)
#  [1,]    0    0    0    0
#  [2,]    0    0    0    1
#  [3,]    0    0    1    1
#  [4,]    0    0    1    0
#  [5,]    0    1    1    0
#  [6,]    0    1    1    1
#  [7,]    0    1    0    1
#  [8,]    0    1    0    0
#  [9,]    1    1    0    0
# [10,]    1    1    0    1
# [11,]    1    1    1    1
# [12,]    1    1    1    0
# [13,]    1    0    1    0
# [14,]    1    0    1    1
# [15,]    1    0    0    1
# [16,]    1    0    0    0

构建这些矩阵的方法的一个有趣的副作用是,第一行和最后一行之间的距离也为1。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据字符串变量对行进行重新排序

来自分类Dev

根据一行的内容对所有行进行排序

来自分类Dev

如何利用递归函数帮助对矩阵行进行排序-R

来自分类Dev

如何根据列之一对行进行排序?

来自分类Dev

按行方式对矩阵行进行排序

来自分类Dev

根据多列对结果行进行排序

来自分类Dev

根据特定的行对MySQL行进行重新排序

来自分类Dev

根据行模式对行进行排序

来自分类Dev

Unix如何根据特定匹配对整行进行排序

来自分类Dev

根据多列对矩阵的行进行分组

来自分类Dev

使用jQuery根据背景颜色对表行进行排序

来自分类Dev

根据不同的列值对行进行排序

来自分类Dev

根据两列对行进行排序

来自分类Dev

如何根据Google表格中的背景颜色对行进行排序

来自分类Dev

根据矩阵B的顺序对矩阵A进行排序

来自分类Dev

熊猫-根据组和条件对行进行重新排序

来自分类Dev

根据数组对矩阵行进行排序

来自分类Dev

根据每行中的字段数对行进行排序

来自分类Dev

如何根据在jtable中动态添加的列对行进行排序?

来自分类Dev

Oracle-如何对不同的行进行排序?

来自分类Dev

根据一行的内容对所有行进行排序

来自分类Dev

根据标签值对Java列表中的XML行进行排序

来自分类Dev

根据多个条件对不同的行进行排序

来自分类Dev

根据整数对SQL中的行进行排序

来自分类Dev

根据时间戳对数据帧的行进行排序

来自分类Dev

根据特定的行对MySQL行进行重新排序

来自分类Dev

根据行模式对行进行排序

来自分类Dev

如何根据另一个矩阵的costrain对矩阵的行进行排序?

来自分类Dev

根据数据框中的变量组对行进行排序

Related 相关文章

热门标签

归档