【问题标题】:How can I loop over columns in R in a dataset to create cross tabs for each column and a grouping factor, and then apply a fisher's exact test?如何遍历数据集中 R 中的列,为每列和分组因子创建交叉表,然后应用费希尔精确检验?
【发布时间】:2018-01-29 21:02:59
【问题描述】:

我有一个包含 ~100 列和 ~1000 行的数据集。对于除最后一列之外的每一列,我想创建一个值的交叉表和一个分组因子,这是数据集中的最后一列。然后,我想对每个交叉表执行 Fisher 精确检验。

这一切都以硬编码格式工作,但我希望使用循环或函数来清理和优化代码

【问题讨论】:

标签: r function loops statistics crosstab


【解决方案1】:

您可以使用lapply() 遍历您的 99 列并创建一个包含 99 个列联表的列表。然后,再次使用lapply() 循环遍历您的表列表并创建一个包含fisher.test() 的99 个结果的表。

mytables <- lapply(df[, 1:99], function(x) table(x, df[, 100]))

mytests <- lapply(mytables, fisher.test)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    相关资源
    最近更新 更多