我有一张桌子要放

  • 组每四行分成连续的组
  • 将每一行与上一组
  • 中的4行进行比较

    实际上,我将一次使用四行作为参考集,将其与以下四组中的每一行进行比较。

    具体来说,给定组x中的一行,我要计算前一组(即组x-1)中有多少行的值小于或等于感兴趣行中的值。

    我想为每一行执行此操作。

    因此,我要为第二组的四行中的每一行(例如5到8)计算具有小于或等于第一行中的值(例如1到4行)的行数。然后第5至8行成为接下来的四行(9至12)的下一个参考组。等等...
    Row Values
    1   1.35
    2   0.71
    3   1.00
    4   0.07
    5   0.53
    6   0.12
    7   0.36
    8   2.03
    9   3.83
    10  1.30
    11  2.17
    12  1.71
    13  1.52
    14  1.27
    15  0.29
    16  0.05
    17  0.14
    

    结果如下所示:
    Row Values  Count
    1   1.35
    2   0.71
    3   1.00
    4   0.07
    5   0.53    1
    6   0.12    1
    7   0.36    1
    8   2.03    4
    9   3.83    4
    10  1.30    3
    11  2.17    4
    12  1.71    3
    13  1.52    1
    14  1.27    0
    15  0.29    0
    16  0.05    0
    17  0.14    1
    

    最佳答案

    您可以尝试(如果df是您的data.frame):

    sdf<-split(df$Values,(df$Row-1)%/%4)
    c(rep(NA,4),unlist(Map(f=function(x,y)
          findInterval(x,sort(y)),sdf[-1],sdf[-length(sdf)]),use.names=F))
    #[1] NA NA NA NA  1  1  1  4  4  3  4  3  1  0  0  0  1
    

    关于r - 与数据帧中交替的行组进行比较时的计数频率,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31440920/

    10-10 21:16