筆者邀請(qǐng)您,先思考:
1 如何用R做數(shù)據(jù)可視化?
2 相關(guān)圖何時(shí)使用?
數(shù)據(jù)可視化,讓你的數(shù)據(jù)講故事。
隨著數(shù)據(jù)量的不斷增加,如果沒(méi)有可視化,就不可能講故事。數(shù)據(jù)可視化是一門(mén)如何將數(shù)字轉(zhuǎn)化為有用知識(shí)的藝術(shù)。
R編程通過(guò)提供一組用來(lái)構(gòu)建可視化和表示數(shù)據(jù)的內(nèi)置函數(shù)和庫(kù),讓您學(xué)習(xí)這種藝術(shù)。在可視化技術(shù)實(shí)現(xiàn)之前,讓我們先看看如何選擇正確的圖表類(lèi)型。
選擇正確的圖表類(lèi)型
有四種基本的表示類(lèi)型:
要確定哪些最適合您的數(shù)據(jù),我建議您回答幾個(gè)問(wèn)題,比如
以下是 Abela博士選擇正確圖表類(lèi)型的一個(gè)很好的解釋。
在您的日常活動(dòng)中,您會(huì)在大多數(shù)時(shí)間遇到下面列出的7個(gè)圖表。
我們將使用如下所示的“Big Mart數(shù)據(jù)”示例來(lái)了解如何在R中創(chuàng)建可視化。您可以從此處下載完整數(shù)據(jù)集。
現(xiàn)在讓我們看看如何在R中使用這些可視化
1.散點(diǎn)圖
何時(shí)使用: Plot用于查看兩個(gè)連續(xù)變量之間的關(guān)系。
在我們上面的Mart數(shù)據(jù)集中,如果我們想要根據(jù)成本數(shù)據(jù)來(lái)顯示項(xiàng)目,那么我們可以使用散點(diǎn)圖來(lái)使用兩個(gè)連續(xù)變量,即和,如下所示。
這是使用函數(shù)()和()的簡(jiǎn)單散點(diǎn)圖的R代碼。
1library(ggplot2)??????????
2ggplot(train,?aes(Item_Visibility,?Item_MRP))?+?geom_point()?+?scale_x_continuous("Item?Visibility",?breaks?=?seq(0,0.35,0.05))+?scale_y_continuous("Item?MRP",?breaks?=?seq(0,270,by?=?30))+?theme_bw()
現(xiàn)在,我們可以在同一個(gè)圖表中查看第三個(gè)變量,比如分類(lèi)變量(),它將給出每個(gè)數(shù)據(jù)集的特征()。 下圖中的以不同的顏色描繪了不同的類(lèi)別。
增加類(lèi)別的R代碼:
1ggplot(train,?aes(Item_Visibility,?Item_MRP))?+?geom_point(aes(color?=?Item_Type))?+?
2??scale_x_continuous("Item?Visibility",?breaks?=?seq(0,0.35,0.05))+
3??scale_y_continuous("Item?MRP",?breaks?=?seq(0,270,by?=?30))+
4??theme_bw()?+?labs(title="Scatterplot")
我們甚至可以通過(guò)為每個(gè)單獨(dú)的創(chuàng)建單獨(dú)的散點(diǎn)圖來(lái)使其更清晰,如下所示。
單獨(dú)的類(lèi)別分組圖表的R代碼:
1ggplot(train,?aes(Item_Visibility,?Item_MRP))?+?geom_point(aes(color?=?Item_Type))?+?
2??scale_x_continuous("Item?Visibility",?breaks?=?seq(0,0.35,0.05))+
3??scale_y_continuous("Item?MRP",?breaks?=?seq(0,270,by?=?30))+?
4??theme_bw()?+?labs(title="Scatterplot")?+?facet_wrap(?~?Item_Type)
在這里,工作精湛,并以矩形布局組裝。
2.直方圖
何時(shí)使用:直方圖用于繪制連續(xù)變量。 它將數(shù)據(jù)分成箱并顯示這些箱的頻率分布。 我們總是可以更改bin大小并查看它對(duì)可視化的影響。
從我們的Smart數(shù)據(jù)集中,如果我們想要根據(jù)成本知道項(xiàng)目的數(shù)量,那么我們可以使用連續(xù)變量繪制直方圖,如下所示。
這是使用函數(shù)()和()的簡(jiǎn)單直方圖的R代碼。
1ggplot(train,?aes(Item_MRP))?+?geom_histogram(binwidth?=?2)+
2??scale_x_continuous("Item?MRP",?breaks?=?seq(0,270,by?=?30))+
3??scale_y_continuous("Count",?breaks?=?seq(0,200,by?=?20))+
4??labs(title?=?"Histogram")
3.條形圖和堆棧條形圖
何時(shí)使用:當(dāng)您想要繪制分類(lèi)變量或連續(xù)變量和分類(lèi)變量的組合時(shí),建議使用條形圖。
從我們的數(shù)據(jù)集中分類(lèi)變量和連續(xù)變量怎么做散點(diǎn)圖分類(lèi)變量和連續(xù)變量怎么做散點(diǎn)圖,如果我們想知道在特定年份建立的市場(chǎng)數(shù)量,那么條形圖將是最合適的選項(xiàng),使用變量 Year如下所示。
下面是使用函數(shù)()對(duì)單個(gè)連續(xù)變量進(jìn)行簡(jiǎn)單條形圖的R代碼。
1ggplot(train,?aes(Outlet_Establishment_Year))?+?geom_bar(fill?=?"red")+theme_bw()+
2??scale_x_continuous("Establishment?Year",?breaks?=?seq(1985,2010))?+?
3??scale_y_continuous("Count",?breaks?=?seq(0,1500,150))?+
4??coord_flip()+?labs(title?=?"Bar?Chart")?+?theme_gray()
垂直條形圖:
作為變體,您可以刪除()參數(shù)以垂直獲取上面的條形圖。
要在單個(gè)條形圖上了解基于出口類(lèi)型(分類(lèi)變量)的項(xiàng)目權(quán)重(連續(xù)變量),請(qǐng)使用以下代碼:
1ggplot(train,?aes(Item_Type,?Item_Weight))?+?geom_bar(stat?=?"identity",?fill?=?"darkblue")?+?scale_x_discrete("Outlet?Type")+?scale_y_continuous("Item?Weight",?breaks?=?seq(0,15000,?by?=?500))+?theme(axis.text.x?=?element_text(angle?=?90,?vjust?=?0.5))?+?labs(title?=?"Bar?Chart")
堆積條形圖:
堆積條形圖是條形圖的高級(jí)版本,用于可視化分類(lèi)變量的組合。
從我們的數(shù)據(jù)集中,如果我們想要根據(jù)分類(lèi)變量(如類(lèi)型(出口類(lèi)型)和位置(出口位置類(lèi)型))知道出口數(shù)量,堆棧圖表將以最有用的方式可視化方案。
這是使用函數(shù)()的簡(jiǎn)單堆積條形圖的R代碼。
1ggplot(train,?aes(Outlet_Location_Type,?fill?=?Outlet_Type))?+?geom_bar()+
2labs(title?=?"Stacked?Bar?Chart",?x?=?"Outlet?Location?Type",?y?=?"Count?of?Outlets")
4.箱形圖
何時(shí)使用:Box Plots用于繪制分類(lèi)和連續(xù)變量的組合。 該圖對(duì)于可視化數(shù)據(jù)的傳播和檢測(cè)異常值非常有用。 它顯示了五個(gè)統(tǒng)計(jì)上顯著的數(shù)字 - 最小值,第25百分位數(shù),中位數(shù),第75百分位數(shù)和最大值。
從我們的數(shù)據(jù)集中,如果我們想要識(shí)別每個(gè)商店的詳細(xì)商品銷(xiāo)售,包括最小,最大和中位數(shù),箱形圖可能會(huì)有所幫助。 此外,它還給出了每個(gè)商店的商品銷(xiāo)售異常值,如下圖所示。
黑點(diǎn)是異常值。 異常檢測(cè)和刪除是成功進(jìn)行數(shù)據(jù)探索的重要步驟。
這是使用函數(shù)()和的簡(jiǎn)單框圖的R代碼。
1ggplot(train,?aes(Outlet_Identifier,?Item_Outlet_Sales))?+?geom_boxplot(fill?=?"red")+
2scale_y_continuous("Item?Outlet?Sales",?breaks=?seq(0,15000,?by=500))+
3labs(title?=?"Box?Plot",?x?=?"Outlet?Identifier")
5.面積圖
何時(shí)使用:面積圖用于顯示變量或數(shù)據(jù)集的連續(xù)性。 它與折線圖非常相似,通常用于時(shí)間序列圖。 或者,它也用于繪制連續(xù)變量并分析潛在趨勢(shì)。
從我們的數(shù)據(jù)集中,當(dāng)我們想要分析商品銷(xiāo)售額的趨勢(shì)時(shí),可以繪制面積圖,如下所示。 它顯示了基于銷(xiāo)售額的網(wǎng)點(diǎn)數(shù)量。
這是簡(jiǎn)單區(qū)域圖表的R代碼,顯示使用函數(shù)()和的Item Sales的連續(xù)性。
1ggplot(train,?aes(Item_Outlet_Sales))?+?geom_area(stat?=?"bin",?bins?=?30,?fill?=?"steelblue")?+?scale_x_continuous(breaks?=?seq(0,11000,1000))+?labs(title?=?"Area?Chart",?x?=?"Item?Outlet?Sales",?y?=?"Count")
6.熱圖
何時(shí)使用:熱圖使用顏色的強(qiáng)度(密度)來(lái)顯示二維圖像中兩個(gè)或三個(gè)或多個(gè)變量之間的關(guān)系。 網(wǎng)站的熱圖分析允許您通過(guò)顏色強(qiáng)度探索兩個(gè)維度作為軸和第三維度。
從我們的數(shù)據(jù)集中,如果我們想知道每個(gè)出口處每個(gè)項(xiàng)目的成本,我們可以使用我們的集市數(shù)據(jù)集中的三個(gè)變量項(xiàng)目MRP, & Item Type來(lái)繪制熱圖,如下所示。
暗部分表示物品MRP接近50.較亮部分表示物品MRP接近250。
這是使用函數(shù)()的簡(jiǎn)單熱圖的R代碼。
1ggplot(train,?aes(Outlet_Identifier,?Item_Type))+
2??geom_raster(aes(fill?=?Item_MRP))+
3??labs(title?="Heat?Map",?x?=?"Outlet?Identifier",?y?=?"Item?Type")+
4??scale_fill_continuous(name?=?"Item?MRP")
7. 相關(guān)圖
何時(shí)使用:用于測(cè)試數(shù)據(jù)集中可用變量之間的相互關(guān)系水平。 矩陣的單元格可以用陰影或彩色顯示,以顯示相關(guān)值。
顏色越深,變量之間的相關(guān)性越高。 正相關(guān)關(guān)系以藍(lán)色顯示,負(fù)相關(guān)以紅色顯示。 顏色強(qiáng)度與共同關(guān)系值成比例。
從我們的數(shù)據(jù)集中,讓我們檢查項(xiàng)目成本,重量,可見(jiàn)性以及出口建立年份和出口銷(xiāo)售從下面的圖表之間的相互關(guān)系。
在我們的示例中,我們可以看到項(xiàng)目成本和出口銷(xiāo)售正相關(guān),而項(xiàng)目權(quán)重和可見(jiàn)性負(fù)相關(guān)。
這是使用函數(shù)()的簡(jiǎn)單相關(guān)圖的R代碼。
1install.packages("corrgram")
2library(corrgram)
3
4corrgram(train,?order=NULL,?panel=panel.shade,?text.panel=panel.txt,
5???????????main="Correlogram")
現(xiàn)在我想你應(yīng)該很容易使用R編程中的庫(kù)來(lái)可視化數(shù)據(jù)。
除了可視化之外,您還可以了解有關(guān)數(shù)據(jù)挖掘以及 Data from intoR的過(guò)程的更多信息。
友情鏈接: 餐飲加盟
地址:北京市海淀區(qū) 電話(huà):010- 郵箱:@126.com
備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有