我有一个带有变量的数据集,该变量具有其他几个不相互排斥的特性。这是数据。
df <- structure(list(cont1 = structure(c(2L, 2L, 4L, 1L, 2L, 3L, 2L, 4L, 4L, 1L, 2L, 2L, 4L, 1L, 1L, 2L, 2L), .Label = c("Africa", "Asia", "Europe", "LAC"), class = "factor"), SIDS = structure(c(2L, 1L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("No", "SIDS"), class = "factor"), LDC = structure(c(2L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("LDC", "No"), class = "factor")), .Names = c("cont1",
"SIDS", "LDC"), class = "data.frame", row.names = c(NA, -17L))
因此,当我将其设置为长格式df.m <- melt(df, id.vars = c("cont1"))
时,我可以使用ggplot2
构建绘图,但会获得绘图中的所有NA。如果我排除它们,比例会被扭曲,因为其中一个类别中有更多的NA。
ggplot(df.m, aes(x = cont1, fill = value)) + geom_bar()
ggplot(df.m[df.m$value != "No",], aes(x = cont1, fill = value)) + geom_bar()
有没有办法让变量cont1
的条形图与value
作为填充而不会使NAs扭曲比例?我可以使用不同的长度来填充ggplot2
吗?