【问题标题】:Adding unused factor levels to table [duplicate]将未使用的因子水平添加到表中[重复]
【发布时间】:2016-04-16 16:35:21
【问题描述】:

我有想要使用 McNemar 测试分析之前/之后的数据。

before <-c(0,0,0,0,0,0)
after<-c(1,0,0,1,0,0)
table(before,after)

  after
before 0 1
     0 4 2

您可能已经猜到该表的问题是我在“之前”中缺少理论上可能的“1”级别。

有没有一种干净的方法来创建全零的附加行?

【问题讨论】:

  • 请阅读手册 (?table),您会发现对因子 levels 的多个参考,例如d &lt;- factor(rep(c("A","B","C"), 10), levels = c("A","B","C","D","E"))

标签: r


【解决方案1】:

试试before &lt;- factor(rep(0,6),levels = c(0,1))

您还可以通过以下方式更改现有因素的水平:

x <- factor(1:5)
levels(x) <- c(levels(x),"ABC")

【讨论】:

    【解决方案2】:

    我们可以使用factor 指定levels

     table(factor(before, levels=0:1),after)
     #    after
     #   0 1
     # 0 4 2
     # 1 0 0
    

    【讨论】:

    • @MaciejKarczewski 如此简单,以至于已经在 SO 中询问和回答了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多