在structable()中包含NA值

时间:2019-05-01 19:36:01

标签: r na vcd

我想使用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")]))

1 个答案:

答案 0 :(得分:0)

我对vcd包不熟悉,但是据我所知,在使用列联表时,没有内置的方法来保留NA值。但是,在使用基本NA函数保留table()的同时,可以实现相同的展平表。

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

如果这样做的结果不适合您的后续步骤,则可以将数据集中的NA替换为符号值,然后继续使用vcd包。