R中的过滤器2d列表(?)
我在R中有这样的数据结构:R中的过滤器2d列表(?),r,R,我在R中有这样的数据结构: >my2dlist [,1] [,2] [,3] [,4] [,5] [1,] 1.8911965 -0.5783678 1.125074 0.8213261 1.327800 [2,] 0.6354067 1.9959153 -0.571080 0.9250592 -1.668552 我只想要那些[1]>[2]的元素,但无法使用Filter()找出如何实现它 要澄清我试图做什么:在pytho
>my2dlist
[,1] [,2] [,3] [,4] [,5]
[1,] 1.8911965 -0.5783678 1.125074 0.8213261 1.327800
[2,] 0.6354067 1.9959153 -0.571080 0.9250592 -1.668552
我只想要那些[1]>[2]的元素,但无法使用Filter()找出如何实现它
要澄清我试图做什么:在python中:
[x for x in my2dlist if x[0]>x[1]]
假设
my2dlist
是一个矩阵
,我们通过比较第一行和第二行来创建一个逻辑向量
,并根据逻辑向量对列进行子集划分
my2dlist[,my2dlist[1,] > my2dlist[2,], drop = FALSE]
看起来像一个
matrix
my2dlist[my2dlist[,1]>my2dlist[,2],,drop=FALSE]
如果你是列的子集,那么my2dlist[,my2dlist[1,]>my2dlist[2,],drop=FALSE]
谢谢,第二个做了。当子集中只有一行或一列时,drop=FALSE
做什么?@JMC,它可以防止将维度放到向量上