【问题标题】:R table function apply all columnsR表函数应用所有列
【发布时间】:2020-10-21 20:48:28
【问题描述】:

我想将 R 中的表函数应用于我的所有列。

我想查看我的目标和所有其他列的分布。这是一个例子:

table(df$target, df$variable1)

我有 500 列。我怎样才能为我的所有 500 列做到这一点?

table(df$target, df$variable1),
table(df$target, df$variable2),
table(df$target, df$variable3) 

不一一写? (申请?)

【问题讨论】:

    标签: r output distribution target


    【解决方案1】:

    一个选项是lapply 以使用setdiff 循环遍历除“目标”以外的列名(假设我们需要所有其他列),然后获取“目标”的table,然后循环返回的列频率表的list

    outlst <- lapply(setdiff(names(df), 'target'), 
          function(nm) table(df$target, df[[nm]]))
    

    【讨论】:

    • 我想问一些问题,在这段代码中它没有在结果中显示“变量”的名称。它只是给出数字。是否也可以设置变量名?
    • @determinator 一个选项是用names(outlst) &lt;- setdiff(names(df), 'target')命名列表
    猜你喜欢
    • 2017-05-12
    • 1970-01-01
    • 2021-08-28
    • 2014-03-17
    • 2016-05-02
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多