【问题标题】:Construct 3-way contingency table in R在R中构造三向列联表
【发布时间】:2021-01-28 08:08:37
【问题描述】:

我拥有的 4 个变量是:Breathless(B)= {y,n}, wheeze(W)= {y,n}, age={g1,g2,...,g5} 和 count= { 20 个数字计数}。我想构建一个如图所示的表,但是 ftable 函数无法将输出正确排列到表中。我还能如何构建它?提前致谢!

ftable 函数的输出:

【问题讨论】:

    标签: r contingency


    【解决方案1】:

    您可以尝试使用来自data.tabledcast 重塑您的数据

    library(data.table)
    setDT(data)
    dcast(data, age + Breathless ~ wheeze, value.var = "count")
    

    【讨论】:

    • 'age+Breathless~wheeze' 设置 'age' 和 'Breathless' 在行上, 'wheeze' 在列上?
    • 是的,想一想~ 之前的内容保留为行,~ 之后的内容有点转置为列,并且您要填写在重新调整的表格中的值将在争论value.var。查看?dcast了解更多详情
    【解决方案2】:

    tidyverse 的选项是

    library(dplyr)
    library(tidyr)
    data %>%
         pivot_wider(names_from = wheeze, values_from = count)
    

    【讨论】:

    • 感谢您的回答!我希望在表格的列中设置的因素的 names_from 参数,在这种情况下是“喘息”吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 2018-09-23
    • 2022-07-21
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 2020-10-06
    相关资源
    最近更新 更多