【问题标题】:Filtering iteratevely through data table in R通过R中的数据表迭代过滤
【发布时间】:2021-08-02 03:14:37
【问题描述】:

我有一个包含 3 个变量、1 个频率列的数据表,我希望添加另一个比例列。

变量 1 有 4 个唯一值。 变量 2 有 5, 而变量 3 有 2。

频率记录了发生的次数。 但是如果我将prop.table添加到它,它将计算整个data.table的比例,当我真的希望它计算变量2的子集中的比例时。

我想过迭代,但在表格中似乎很复杂。

【问题讨论】:

    标签: r loops filter


    【解决方案1】:

    您可以使用 aggregate 函数(或 tapply)对变量 2 的类别中的所有计数求和,然后在结果上使用 prop.table 或类似函数。

    如果您想使用 tidyverse 而不是基数 R,那么这将是 group_by 后跟 summarise 以添加到每个组中,然后再次 prop_table 以计算比例。

    【讨论】:

    • 另一种 tidyverse 解决方案是 pivot_longer 在计算摘要之前使数据框整洁。如果必须包含零频率类别,则需要一个最终的 expand() 或类似名称。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多