代码之家  ›  专栏  ›  技术社区  ›  kittygirl

如何计算因子列的水平发生率?[副本]

r
  •  0
  • kittygirl  · 技术社区  · 6 年前
    df <- data.frame(
        cola = c('1','b','c','1','1','e','1',NA,'c','d'),
        colb = c("A",NA,"C","D",'a','b','c','d','c','d'),
        colc = c('a','b','c','d','a','b','c','d','c','d'),stringsAsFactors = TRUE)
    

    df$cola 1 b c 1 1 e 1 <NA> c d
    我想知道有多少 1 在这个专栏里(答案是4),怎么做?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Tim Biegeleisen    6 年前

    你可以用 sum 在这里:

    num_ones <- sum(df$cola == "1", na.rm=TRUE)
    num_ones
    
    [1] 4
    

    这个 na.rm=TRUE 需要选择,因为没有它,整个 总和 手术会“取消”,然后就回来 NA . 在这种情况下,我们可以忽略 不适用 价值观。