可視化 RW/GGMICE 中的缺失數據

可視化 RW/GGMICE 中的缺失數據

在分析數據時,我們想知道如何找到缺失值的後續步驟,因為分析中的大多數事情都是由不同的因素決定的。為了幫助您解決這個問題,我們將使用ggmice包解決R 中缺失數據的可視化問題您可以在本博客底部觀看本教程的完整視頻

“對於缺失值我該怎麼辦?” 這是分析數據時要問的基本問題。我們都希望它們很容易找到,因為它們被編碼為空值或 NA。

我們將了解一些一般經驗法則和後續步驟。我們將學習如何回答諸如有多少缺失數據之類的問題?問題有多大?我們能找到數據中的任何模式嗎?

有很多方法可以做到這一點,但我們將使用 R 中的可視化缺失數據作為第一個探索性的開始。

目錄

何時刪除以及何時查找缺失值

如果它們缺失的方式沒有規律,並且它影響不到 5% 的觀察值,無論是在列中還是在數據集中,那麼您可以刪除這些缺失值。

但是,如果事實證明它更普遍並且您可以根據可視化找到一些重要的模式,那麼您可能需要對這些數據做一些事情。

因此,我們可以歸因於這些值,而不是刪除它們,因為可能有一個關於為什麼這些值在模式中缺失的故事。

可視化 RW/GGMICE 中的缺失數據

在這個演示中,我們將使用一個包來估算缺失值。這是一個用於在 R 中可視化缺失數據的新包,它被稱為ggmice

我們的想法是找到模式以及有多少缺失值,因此我們將查看繪圖模式,然後查看繪圖預測矩陣

MICE 代表通過鍊式方法進行的多元插補。我們沒有進入機制,但我們將了解如果我們使用該算法將如何估算我們的數據。

關於使用 ggmice 在 R 中可視化丟失數據的另一件事是,它確實與ggplot2 兼容,因此我們能夠在著名的可視化包 ggplot2的基礎上構建一些可視化。

可視化 RW/GGMICE 中的缺失數據

使用 GGMICE 在 R 中可視化缺失數據的步驟

讓我們繼續啟動RStudio。我們需要做的第一件事是通過輸入庫 (ggmice)、包含 ggplot2 的庫 (tidyverse)和庫 (Ecdat)數據集來導入我們需要的所有包。

圖書館 (Ecdat) 包有很多很好的數據集可供練習。這就是我們使用和導入它的原因。

可視化 RW/GGMICE 中的缺失數據

其中一個數據集是help (MCAS)。讓我們對此運行幫助功能。

正如我們所看到的,這是來自 Ecdat 的,它是一個測試分數數據集。此幫助文檔描述了每一列並告訴我們它們的來源。

我們將使用它來了解是否存在缺失數據以及它們形成的模式(如果存在)。

可視化 RW/GGMICE 中的缺失數據

讓我們使用is.na (MCAS)並單擊Run。如我們所見,有一堆 TRUE 和 FALSE。我們可以做的是使用colSums (is.na(MCAS))函數對這些進行求和,因為 FALSE 和 TRUE 偽裝成零和一。這是我們檢查值是否丟失的方法。

可視化 RW/GGMICE 中的缺失數據

如下所示,缺失值位於spctotsc8avgsalary等三列中。我們可以在幫助文檔部分看到這些列的描述。

可視化 RW/GGMICE 中的缺失數據

此外,通過使用colSums (is.na(MCAS)) / nrow (MCAS),行數將變成百分比。這是一種看待它的方式,但不是最簡單的事情。

可視化 RW/GGMICE 中的缺失數據

在這種情況下,讓我們看看 ggmice 可以為我們做什麼。我們將使用browseVignettes (package = 'ggmice')函數,然後單擊Run

可視化 RW/GGMICE 中的缺失數據

找到了此功能的一些小插圖,所以讓我們選擇ggmice並單擊HTML鏈接以查看一些可能有用的有用教程。

可視化 RW/GGMICE 中的缺失數據

可視化 RW/GGMICE 中的缺失數據

回到腳本,讓我們使用plot_pattern (MCAS)函數來傳遞數據集。

可視化 RW/GGMICE 中的缺失數據

為了更好地可視化它,請單擊“縮放”按鈕。如圖所示,在 155 個觀測值中,spc有 9 個缺失值,avgsalary有 25 個, totsc8有 40 個。

我們將嘗試找出這些是否重合,有多少,以及它們是否傾向於聚集在一起。

可視化 RW/GGMICE 中的缺失數據

要對此進行交​​叉檢查,我們可以通過使用視圖 (MCAS)功能然後單擊“運行”來嘗試模擬方式。

可視化 RW/GGMICE 中的缺失數據

這是一種電子表格查看器,我們可以在其中查看所有缺失值。我們還可以通過單擊“源代碼編輯器”按鈕來擴展它。

可視化 RW/GGMICE 中的缺失數據

Power Query類似,我們可以看到總條目數,NA 是缺失值。值得注意的是,視圖 (MCAS) 上的總條目數為 220,而 plot_pattern (MCAS) 的條目總數僅為 155,因為可能存在本身未繪製的完整值。

此外,我們可以看到它們確實傾向於根據變量和行聚集在一起。然而,在很多情況下,只有一個或另一個缺失。現實情況是,很難逐行進行這種可視化,所以這就是可視化的用武之地。

可視化 RW/GGMICE 中的缺失數據

估算缺失數據

接下來要做的是回到我們的腳本,然後輸入nrow (MCAS)sum(is.na(MCAS)$totsc8))

在這種情況下,我們知道 200 個觀測值中有 40 個缺失值。讓我們通過輸入 40/200 將 R 用作計算器。因此,我們有大約 20% 的缺失值,這是很多的。

理想情況下,我們想知道為什麼有這麼多人失踪。也許這只是數據的收集方式,這就是我們可以歸因於此的原因。

可視化 RW/GGMICE 中的缺失數據

為此,讓我們導入庫 (mice) 包。這是插補方法之一。

可視化 RW/GGMICE 中的缺失數據

然後,讓我們使用MCAS_pred < –="" quickpred="">plot_pred(MCAS_pred)函數。確保保存這些,單擊運行,然後單擊縮放按鈕。

可視化 RW/GGMICE 中的缺失數據

如果我們要使用多元插補,該算法將找到與缺失的相似的觀測值和數據點,然後嘗試填充它們。

例如,spc列。這些將有助於預測與totsc8avgsalary相同的缺失值。在這一點上,我們還沒有這樣做,但我們看到了哪些相關的值和變量可能有助於阻止這些值。

可視化 RW/GGMICE 中的缺失數據

讓我們再嘗試一件事。我們將使用ggmice (MCAS, aes(x=avgsalary, y=totsc8)) + geom_point ( ),然後單擊運行

這是一個散點圖,除了我們使用的是 ggmice。基本上,我們可以看到這兩個具有相當多缺失值的變量之間的關係。當其中一個缺失而另一個可用時,我們可以看到這些點在哪裡。

在這種情況下,在其中一種情況下會觀察到這兩種情況。一個不見了,另一個沒有。如果兩者都缺失,它就不會出現在劇情中。

可視化 RW/GGMICE 中的缺失數據


使用 DataEditR 包在 R 中編輯
數據 數據模型的 Power Query 最佳實踐
如何在 LuckyTemplates 中安裝 R 包

結論

當我們處理缺失值時,很容易使用像 MICE 這樣的算法,因為它對估算值非常強大。但是,最好自己探索數據並了解發生了什麼。

理想情況下,如果我們有很多缺失數據,我們想找出原因,也許我們可以嘗試獲取更多數據或者我們可以估算它。直奔源頭始終是首選。

如果我們最終想要估算缺失值,我們可以使用tidyverse 包進行一些簡單的估算方法,例如均值或中位數。

毫無疑問,MICE 包是強大的。對於計算量非常大的事物來說,它可能有點矯枉過正,但我們現在只關注它的可視化元素。

我希望你能學到一些東西並隨意使用這個包。一定要分享它並嘗試宣傳它,因為它是一個很好的包,可以處理與 ggplot2 兼容的缺失值。

一切順利,

喬治


什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的