我想用vcd包的structable函数制作一个列联表。我选择的两个列(consent_a和consent_b)具有na值和factor (Yes,No)值,因为每个情况都可以接受过程a或过程b,但不能同时接受两者。例如,如果同意程序a的情况,他们不会被要求程序b(因此consent_b将是NA)。在列联表中,我希望包括所有因数为yes、no和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")]))发布于 2019-05-03 05:59:10
我不熟悉vcd包,但据我所知,在处理列联表时没有保留NA值的内置方法。但是,您可以在保留具有基本table()函数的NA的同时实现相同的平面表。
as.data.frame(with(mydata, table(report_week, report_year, consent_a, consent_b, useNA = "ifany")))如果结果不适合您的后续步骤,那么只需将数据集中的NA替换为符号值,并继续使用vcd包即可。
https://stackoverflow.com/questions/55941704
复制相似问题