R 来自不同来源的缺失/可用数据的可视化

R 来自不同来源的缺失/可用数据的可视化,r,ggplot2,ggplotly,R,Ggplot2,Ggplotly,情况如下: 我有两个数据集,其中包含2013年2月至2019年9月期间不同金融产品的月度价格。这些数据集有47个观察值(金融产品ID)和80个变量(月) 数据集1在此期间包含的数据较少,但数据质量较好 我的问题的第一部分(我已经解决)是创建一个包含数据集1中所有可用数据的数据框,并将数据集2中不存在的可用数据添加到一个新的数据框中,该数据框包含数据集1中的所有质量数据以及数据集2中的补充数据 现在,我试图通过ggplot来说明这个过程 我已经使用 (1) Amelia软件包中的缺失映射 miss

情况如下:

我有两个数据集,其中包含2013年2月至2019年9月期间不同金融产品的月度价格。这些数据集有47个观察值(金融产品ID)和80个变量(月)

数据集1在此期间包含的数据较少,但数据质量较好

我的问题的第一部分(我已经解决)是创建一个包含数据集1中所有可用数据的数据框,并将数据集2中不存在的可用数据添加到一个新的数据框中,该数据框包含数据集1中的所有质量数据以及数据集2中的补充数据

现在,我试图通过ggplot来说明这个过程

我已经使用

(1) Amelia软件包中的缺失映射

missmap(df,rank.order = FALSE,col = c("white","black"))

(2) 来自Mice包的md.pattern

md.pattern(df)

我想以其中一种格式绘制包含这两种数据类型的最终数据集,使用颜色代码清楚地显示数据集2的数据已添加到数据集1的数据中。这可能吗

以下是两个数据集的子集:

dput(df1)
structure(list(`201811` = c(NA, NA, NA, NA, 95.5237185244587, 
NA, 97.5075873015873, NA, NA, NA), `201812` = c(NA, NA, NA, NA, 
95.2207352941176, NA, 98.6600228310502, NA, NA, NA), `201901` = c(NA, 
NA, NA, NA, 93.1981693949331, NA, 100.441459234609, NA, NA, 98.789
), `201902` = c(NA, NA, NA, NA, 98.1906626506024, NA, 100.144885961747, 
NA, NA, 99.029), `201903` = c(NA, 101.376, NA, NA, 100.10447592068, 
NA, 100.95874067937, NA, 103.374571428571, 99.743), `201904` = c(NA, 
101.966785714286, NA, NA, 101.686565217391, NA, 100.711654559226, 
NA, 103.411, 99.517)), row.names = c("929043AH0", "75884RAT0", 
"62943WAA7", "88104LAA1", "62943WAB5", "268317AS3", "037833BU3", 
"88104LAB9", "25389JAL0", "865622BY9"), class = "data.frame")

你好当然,这是可能的,但是如果您按照提供一个小的数据样本,您可能会得到更快更好的答案。您可以在的答案中找到一些提示,尤其是使用
dput
head
。感谢您的反馈!我已经编辑了我的问题并整合了两个数据帧的子集。我找不到一种方法将我的列名放在
dput
中的代码中,因为它们已经包含引号。。。
dput(df2)
structure(list(`201811` = c(97.069, 93.375, 99.8809, 94.576, 
99.849, 96.551, 93.5, 94.8075, 88.8982, 92.8731), `201812` = c(97.638, 
93.75, 99.9679, 94.613, 99.831, 96.692, 93.375, 94.8904, 89.1294, 
93.293), `201901` = c(98.506, 94.924, 99.9968, 96.488, 100.962, 
97.371, 93.75, 97.6666, 91.3518, 98.2993), `201902` = c(100.026, 
97.289, 99.9968, 96.92, 101.194, 97.274, 97.125, 97.8991, 93.3958, 
97.7391), `201903` = c(99.779, 96.78, 99.9968, 96.919, 101.315, 
97.691, 97.7515, 98.1629, 93.0283, 97.8553), `201904` = c(100.665, 
98.971, 99.9968, 98.289, 102.869, 98.402, 98.2492, 99.4818, 95.7858, 
100.6429)), row.names = c("929043AH0", "75884RAT0", "62943WAA7", 
"88104LAA1", "62943WAB5", "268317AS3", "037833BU3", "88104LAB9", 
"25389JAL0", "865622BY9"), class = "data.frame")