如何将用户定义的函数应用于数据框的每一列

时间:2016-05-11 17:10:36

标签: r dataframe multiple-columns apply

我正在尝试在数据框的每一列上使用count()包中的dplyr函数来计算df中每列的每个值的数量。

我试过了:

apply(df, 2, function(x){count_(df,X[1])})       

然而,它不起作用。如果我做

apply(df, 2, function(x){count_(df,"one of my column's name")})

它只将它应用于该列。

如何将其应用于数据框中的每一列?

2 个答案:

答案 0 :(得分:1)

以下内容如何:

apply(df, 2, table)

答案 1 :(得分:0)

可能有很多优雅的方法可以做到这一点,但试试这个:

zz=apply( iris  , 2 , function(x) { table(x) })

zz将是一个发生计数列表,每列一个列表项。如果你愿意,可以将它们合并在一起。

编辑:我刚注意到上面有人只是" table"而不是功能定义。两者都可以工作,我总是使用一个函数,因为我最终搞砸了它。