1

我想使用 vcd 包结构函数制作一个列联表。我选择的两个列 (consent_aconsent_b) 具有 NA 值以及因子 (Yes, No) 值,因为每个案例都可以被同意用于过程 a 或过程 b,但不能同时满足两者。例如,如果一个案件被同意进行程序 a,他们不会被要求进行程序 b(因此consent_b将是 NA)。在列联表中,我想包括因素为是、否和不适用的所有情况。

library(vcd)

mydata <- data.frame(
  report_year = c(2013, 2013, 2013, 2013, 2013, 2014, 2014, 2014, 2014, 2014),
  report_week = c(1, 1, 1,  1, 1, 2, 2, 2, 2, 2),
  consenta = c("Yes", "Yes", NA, "Yes", "No", "Yes", "Yes", NA, "Yes", "No"),
  consentb = c(NA, NA, NA, NA, "Yes", NA, NA, "Yes", NA, "No"))

epicurve <- as.data.frame(structable(proj11[, c("report_epiweek", "report_year", "consent_a", "consent_b")]))
4

1 回答 1

1

我不熟悉这个vcd包,但据我所知,在使用列联表时没有内置的方法来保留NA值。但是,您可以在保持NAs 与基本table()功能相同的情况下实现相同的展平表。

as.data.frame(with(mydata, table(report_week, report_year, consent_a, consent_b, useNA = "ifany")))

如果此结果不适合您的后续步骤,那么您可以NA将数据集中的 s 替换为符号值并继续使用该vcd包。

于 2019-05-02T21:59:09.630 回答