问题描述
我想将R中的表函数应用于所有列。
我想查看我的目标和所有其他列的分布。这是一个例子:
table(df$target,df$variable1)
我有500列。我该如何为我的所有500列做到这一点?
table(df$target,df$variable1),table(df$target,df$variable2),df$variable3)
没有一一写? (有适用吗?)
解决方法
一个选项是lapply
用setdiff
遍历除“ target”以外的其他列名(假设我们需要所有其他列),然后获取“ target”的table
',然后循环返回一列list
频率表
outlst <- lapply(setdiff(names(df),'target'),function(nm) table(df$target,df[[nm]]))