【问题标题】:Table with minumum frequency具有最小频率的表
【发布时间】:2019-06-15 16:51:25
【问题描述】:

我有一个数字向量,我只想保留所有以最低频率出现的条目:

set.seed(1)

min <- 3

vec <- rpois(20, 1)
vec
#> 0 1 1 2 0 2 3 1 1 0 0 0 1 1 2 1 1 4 1 2

table(vec)
#> vec
#> 0 1 2 3 4 
#> 5 9 4 1 1

在这种情况下,我想丢弃 3 和 4,只保留 0、1 和 2,因为它们出现了 3 次以上。

【问题讨论】:

    标签: r vector conditional-statements


    【解决方案1】:

    假设i1 是你的table

    i1 <- table(vec)
    vec[vec %in% names(i1)[i1 > min]]
    #[1] 0 1 1 2 0 2 1 1 0 0 0 1 1 2 1 1 1 2
    

    【讨论】:

      【解决方案2】:

      一个使用ave的选项

      vec[ave(vec, vec, FUN = length) > min]
      #[1] 0 1 1 2 0 2 1 1 0 0 0 1 1 2 1 1 1 2
      

      【讨论】:

        猜你喜欢
        • 2015-09-30
        • 2012-07-30
        • 2021-12-11
        • 1970-01-01
        • 2012-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-06
        相关资源
        最近更新 更多