我有一个矩阵X:

     one two three four
 [1,]  1   3   2   4
 [2,]  2   0   1   5
 [3,]  3   2   1   4
 [4,]  4   9   11  19
 [5,]  4   3   2   1

我想得到一个新的矩阵Y,它只包含"1"、"2"、"3"、"4"的排列.即:

     one two three four
 [1,]  1   3   2   4
 [3,]  3   2   1   4
 [5,]  4   3   2   1

我应该使用什么函数或命令?

推荐答案

我们可以试试这个

> mat[colSums(mapply(`%in%`, list(1:4), asplit(mat, 1))) == ncol(mat), ]
     [,1] [,2] [,3] [,4]
[1,]    1    3    2    4
[2,]    3    2    1    4
[3,]    4    3    2    1

R相关问答推荐

是什么导致R中的mvtnorm包中出现这个错误?

如何判断R中一列的值是否在所有其他列中重复?

从R中的函数中提取变量以及它们来自哪些环境?

在Julia中调用R函数

为什么以及如何修复Mapview不显示所有点并且st_buffer合并一些区域R?

在"gt"表中添加第二个"groupname_col",而不连接列值

为什么观察不会被无功值变化触发?

使用case_match()和char数组重新编码值

仅在R中的数据集开始和结束时删除所有 Select 列的具有NA的行

根据纬度和距离连接两个数据集

我们如何在R中透视数据并在之后添加计算

如何将一个方阵分解成没有循环的立方体

在使用具有Bray-Curtis相似性的pvCluust时计算p值

多元正态分布的计算

计算使一组输入值最小化的a、b和c的值

整理曲线图、曲线图和点图

当由base::限定时,`[.factor`引发NextMethod错误

填充图例什么时候会有点?

R try Catch in the loop-跳过缺少的值并创建一个DF,显示跳过的内容

如何更改包中函数中的参数?