代码之家  ›  专栏  ›  技术社区  ›  Andre Elrico

为什么有人会使用margin=2的apply?

r
  •  2
  • Andre Elrico  · 技术社区  · 6 年前

    为什么有人会选择 apply(.,margin=2,.) 结束 sapply(.,.) .

    sapply(mtcars,sum)
    apply(mtcars,2,sum)
    

    第二个是 apply 似乎很冗长。

    1. 当margin=2时是否有更深层次的含义?

    2. 是历史遗留下来的吗 sapply 定义/发明于 应用 .

    @友好的助手:(我明白了。)

    m<-matrix(1:9,ncol=3)
    sapply(m,sum)
    apply(m,1,sum)
    
    1 回复  |  直到 6 年前
        1
  •  5
  •   Roland    6 年前

    你用 apply 有矩阵(或更一般的数组)。它从未打算用于data.frames,但为了方便起见,它接受data.frames(和其他对象)作为输入(尽管它在内部立即应用 as.matrix ).

    您完全正确,不应该使用它来遍历data.frame列。不过,我通常会用 lapply vapply (而不是 sapply )为了这个。