【问题标题】:Finding the frequencies of repeated values in Rstudio with duplicate unique values在具有重复唯一值的 Rstudio 中查找重复值的频率
【发布时间】:2021-01-14 12:16:33
【问题描述】:

我目前正在解决一个问题,该问题需要我提取所有最大值并找到它在该最大值上花费的时间频率,然后才能找到新的最大值。当最大值出现在另一个时间点的相同值时,有时会遇到一种罕见的情况,并且我的频率正在计算所述最大值的总数,而不是新出现的总数。

例如,峰值向量的期望结果将是频率向量

peaks = c(1,1,1,2,2,2,1,1,5,5,5,1,1,1)
freq = [3,3,2,3,3]

但是我的代码产生了freq = [8,3,3] ,所以当我复制频率以将它们并排放置时,它不像我在做rep_freqs = rep(freq, times = freq)那样工作。

【问题讨论】:

    标签: r


    【解决方案1】:

    我觉得你需要rle

    rle(peaks)$lengths
    

    【讨论】:

    • @akrun 是的,非常感谢!
    • 完美。正是我所追求的!
    【解决方案2】:

    或者另一个选项是difftable

    table(cumsum(c(TRUE, diff(peaks) != 0)))
    

    【讨论】:

      【解决方案3】:

      你可以使用data.tablerleid

      as.integer(table(data.table::rleid(peaks)))
      #[1] 3 3 2 3 3
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-30
        • 2021-05-21
        • 2015-09-08
        • 2014-05-08
        相关资源
        最近更新 更多