我正在通过稍微调整 Amelia 包中的 mismap 函数中的一些代码来创建缺失数据的可视化。我想在我的矩形周围绘制边框,但我无法在 ggplot2 中找到一种方法来做到这一点。
我找到了函数“borders()”,但这似乎与地图工作有关。我也尝试使用 geom_rect,但这似乎需要我指定 mins 和 maxes。Geom_raster 似乎正是我所需要的,但我不知道如何指定边界。
此示例代码创建了我想象的可视化效果,但我在“真实”版本中有更多变量,我希望能够用线条(边框)勾勒出每个变量(var1、var2 等)。
#Dataset
missmap_data_test <- data.frame(var1 = c(11, 26, NA, NA, 15),
var2 = c(NA, NA, 0, NA, 1))
#Create Function
ggplot_missing <-
function(x){
x %>%
is.na %>%
melt %>%
ggplot(data = .,
aes(x = Var2,
y = Var1)) +
geom_raster(aes(fill = value)) +
scale_fill_grey(name = "",
labels = c("Present","Missing")) +
theme_minimal() +
theme(axis.text.x = element_text(angle=90, hjust=1)) +
labs(x = "Variables in Dataset",
y = "Observations")
} …Run Code Online (Sandbox Code Playgroud)