Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 删除平方矩阵中与相应行相加为零的列_R_Matrix - Fatal编程技术网

R 删除平方矩阵中与相应行相加为零的列

R 删除平方矩阵中与相应行相加为零的列,r,matrix,R,Matrix,我有一个二元转移矩阵。我想删除与总和为零的列关联的行。例如,如果 A B C D E A 0 0 0 1 0 B 1 0 0 1 0 C 0 0 1 1 0 D 0 0 1 0 0 E 0 0 1 1 0 B列和E列之和为零。我知道如何摆脱这样的专栏 > a.adj=a[,!!colSums(a)] > a.adj A C D A 0 0 1 B 1 0 1 C 0 1 1 D 0 1 0 E 0 1 1 但是,如何同时删除行B和E以获得 A C D A 0 0 1 C

我有一个二元转移矩阵。我想删除与总和为零的列关联的行。例如,如果

  A B C D E
A 0 0 0 1 0
B 1 0 0 1 0
C 0 0 1 1 0
D 0 0 1 0 0
E 0 0 1 1 0
B列和E列之和为零。我知道如何摆脱这样的专栏

> a.adj=a[,!!colSums(a)]
> a.adj
  A C D
A 0 0 1
B 1 0 1
C 0 1 1
D 0 1 0
E 0 1 1
但是,如何同时删除行B和E以获得

 A C D
A 0 0 1
C 0 1 1
D 0 1 0

如果
行名
列名
顺序相同

indx <- !!colSums(a)
a[indx,indx]
#  A C D
#A 0 0 1
#C 0 1 1
#D 0 1 0

indx使用名称选择列和行

> ind <- colnames(a[,!!colSums(a)])
> a[ind, ind]
  A C D
A 0 0 1
C 0 1 1
D 0 1 0
>inda[ind,ind]
A C D
零零一
c01
D 0 1 0

@Daniel McEwen没问题,很高兴这有帮助。