rows less than 5

  • 本文关键字:than less rows r
  • 更新时间 :
  • 英文 :


我试图找出哪些简单事件的最大值和最小值之间的差异不超过10。我的代码是

sampleSpace <- combinayions(100,3,seq(1,100,by=1),repeats.allowed=FALSE)

diff <- sample_max - sample_min 

有人能帮我吗?

sampleSpace的子集,其中每行中的最大值和最小值之间的差由给出

ss <- apply(sampleSpace, 1, function(x) abs(diff(range(x))) <= 10)

所以你可以做

sampleSpace[ss,]

只获取符合该标准的行。剩下25020行。前30个是:

sampleSpace[ss,]
#>          [,1] [,2] [,3]
#>     [1,]    1    2    3
#>     [2,]    1    2    4
#>     [3,]    1    2    5
#>     [4,]    1    2    6
#>     [5,]    1    2    7
#>     [6,]    1    2    8
#>     [7,]    1    2    9
#>     [8,]    1    2   10
#>     [9,]    1    2   11
#>    [10,]    1    3    2
#>    [11,]    1    3    4
#>    [12,]    1    3    5
#>    [13,]    1    3    6
#>    [14,]    1    3    7
#>    [15,]    1    3    8
#>    [16,]    1    3    9
#>    [17,]    1    3   10
#>    [18,]    1    3   11
#>    [19,]    1    4    2
#>    [20,]    1    4    3
#>    [21,]    1    4    5
#>    [22,]    1    4    6
#>    [23,]    1    4    7
#>    [24,]    1    4    8
#>    [25,]    1    4    9
#>    [26,]    1    4   10
#>    [27,]    1    4   11
#>    [28,]    1    5    2
#>    [29,]    1    5    3
#>    [30,]    1    5    4

您可以简单地使用which(),如下所示:

sampleSpace = sampleSpace[which(diff <= 10), ]
head(sampleSpace)

这是输出:

[,1] [,2] [,3]
[1,]    1    2    3
[2,]    1    2    4
[3,]    1    2    5
[4,]    1    2    6
[5,]    1    2    7
[6,]    1    2    8

我们可以从matrixStats使用rowRanges

library(matrixStats)
m1 <- rowRanges(sampleSpace)
out <- sampleSpace[(m1[,2]- m1[,1]) <= 10,]

相关内容

最新更新