首页
/
每日頭條
/
科技
/
r語言高級可視化
r語言高級可視化
更新时间:2025-05-20 11:42:43

r語言高級可視化(R語言有哪七種可視化應用)1

今天,随着數據量的不斷增加,數據可視化成為将數字變成可用的信息的一個重要方式。R語言提供了一系列的已有函數和可調用的庫,通過建立可視化的方式進行數據的呈現。在使用技術的方式實現可視化之前,我們可以先一起看看如何選擇正确的圖表類型。

作者 Dikesh Jariwala是一個軟件工程師,并且在Tatvic平台上編寫了一些很酷很有趣的程序。他用API編寫了第一版Price Discovery。

如何選擇正确的圖表類型

四種可選擇的基本類型:

1、 比較類圖表

2、 組成類圖表

3、 分布類圖表

4、 關系類圖表

為了選擇最适合分析手中數據的圖表類型,首先考慮以下幾個問題:

單個圖表裡,需要幾個變量?

單個變量,需要用多少數據點來描述?

數據是随時間的變量,還是離散的,以單體或組的形式?

針對如何選擇最适宜的圖表,Dr.Andrew Abela 提供了一個很好的方法示意圖:

r語言高級可視化(R語言有哪七種可視化應用)2

在使用圖表分析的時候,常用的有7種圖表:

1. 散點圖

2. 直方圖

3. 柱狀圖和條形圖

4. 箱線圖

5. 面積圖

6. 熱點圖

7. 相關圖

我們使用“Big Mart data”作為案例來理解 R 可視化的實現方法,你可以點擊此處下載完整的數據(google doc)。

我們将在以下篇幅介紹如何利用 R 實現可視化:

1、 散點圖

使用場景:散點圖通常用于分析兩個連續變量之間的關系。

在上面介紹的超市數據中,如果我們想根據他們的成本數據來可視化商品的知名度,我們可以用散點圖,兩個連續的變量這裡我們命名為Item_Visibility和Item_MRP。

r語言高級可視化(R語言有哪七種可視化應用)3

這裡使用R中的ggplot()和geom_point()函數。

library(ggplot2) // ggplot2 是R中的一個函數庫

ggplot(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()

下圖中增加了一個新的變量,對産品進行分類的變量,命名為Item_Type,圖中以不同的顔色作為顯示。

r語言高級可視化(R語言有哪七種可視化應用)4

R代碼中增加了分組:

ggplot(train, aes(Item_Visibility, Item_MRP)) geom_point(aes(color = Item_Type))

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() labs(title="Scatterplot")

可以進一步可視化,将散點圖以不同的小圖表的形式呈現,下圖中,每一個小圖表都代表一種不同的産品:

r語言高級可視化(R語言有哪七種可視化應用)5

代碼如下:

ggplot(train, aes(Item_Visibility, Item_MRP)) geom_point(aes(color = Item_Type))

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() labs(title="Scatterplot") facet_wrap( ~ Item_Type)

代碼中,facet_warp将圖像顯示在長方形圖表中。

2、 直方圖

使用場景:直方圖用于連續變量的可視化分析。将數據劃分,并用概率的形式呈現數據的規律。我們可以将分類根據需求進行組合和拆分,從而通過這種方式看到數據的變化。

繼續使用上面我們引入的超市數據的例子,如果我們需要知道不同成本段的商品的數量,我們可以将所有數據畫出一個直方圖,Item_MRP作為橫坐标。如下圖所示:

r語言高級可視化(R語言有哪七種可視化應用)6

下面是一個簡單的畫直方圖的例子,使用的是R中的ggplot()和geom_histogram()函數。

ggplot(train, aes(Item_MRP)) geom_histogram(binwidth = 2)

scale_x_continuous("Item MRP", breaks = seq(0,270,by = 30))

scale_y_continuous("Count", breaks = seq(0,200,by = 20))

labs(title = "Histogram")

3、 柱狀圖和條形圖

使用場景:柱狀圖一般用于表現分類的變量或者是連續的分類變量的組合。

在超市數據的例子中,如果我們需要知道在每一年新開的超市的門店數量,那麼柱狀圖就是一個很好的圖形分析的方式。用“年”的信息作為坐标,如下圖所示:

r語言高級可視化(R語言有哪七種可視化應用)7

下面是一個簡單的畫柱狀圖的例子,使用的是R中的ggplot()函數。

ggplot(train, aes(Outlet_Establishment_Year)) geom_bar(fill = "red") theme_bw()

scale_x_continuous("Establishment Year", breaks = seq(1985,2010))

scale_y_continuous("Count", breaks = seq(0,1500,150))

coord_flip() labs(title = "Bar Chart") theme_gray()

水平柱狀圖

去除代碼中的coord_flIP()變量,可以将直方圖以水平直方圖的方法呈現。

r語言高級可視化(R語言有哪七種可視化應用)8

為了得到商品重量(連續變量)和折扣店(分類變量)的關系,可使用下面的代碼:

ggplot(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")

堆疊條形圖

堆疊條形圖是柱狀圖的一個高級版本,可以将分類變量組合進行分析。

超市數據的例子中,如果我們想要知道不同分類商品的折扣店數量,包含折扣店種類和折扣店區域,堆疊條形圖就是做這種分析最為有效的圖表分析方法。

r語言高級可視化(R語言有哪七種可視化應用)9

下面是一個簡單的畫堆疊條形圖的例子,使用的是R中的ggplot()函數。

ggplot(train, aes(Outlet_Location_Type, fill = Outlet_Type)) geom_bar()

labs(title = "Stacked Bar Chart", x = "Outlet Location Type", y = "Count of Outlets")

4、 箱線圖

使用場景:箱線圖一般用于相對複雜的場景,通常是組合分類的連續變量。這種圖表應用于對數據延伸的可視化分析和檢測離值群。主要包含數據的5個重要節點,最小值,25%,50%,75%和最大值。

在我們的案例中,如果我們想要找出每個折扣店每個商品銷售的價格的情況,包括最低價,最高價和中間價,箱線圖就大有用處。除此之外,箱線圖還可以提供非正常價格商品銷售的情況,如下圖所示。

r語言高級可視化(R語言有哪七種可視化應用)10

圖中,黑色的點為離值群。離值群的檢測和剔除是數據挖掘中很重要的環節。

下面是一個簡單的畫箱線圖的例子,使用的是R中的ggplot()和geom_boxplot函數。

ggplot(train, aes(Outlet_Identifier, Item_Outlet_Sales)) geom_boxplot(fill = "red")

scale_y_continuous("Item Outlet Sales", breaks= seq(0,15000, by=500))

labs(title = "Box Plot", x = "Outlet Identifier")

5、 面積圖

使用場景:面積圖通常用于顯示變量和數據的連續性。和線性圖很相近,是常用的時序分析方法。另外,它也被用來繪制連續變量和分析的基本趨勢。

超市案例中,當我們需要知道随着時間的眼神,折扣店商品的品種走勢,我們可以畫出如下的面積圖,圖中呈現了折扣店商品的成交量的變化。

r語言高級可視化(R語言有哪七種可視化應用)11

下面是一個簡單的畫面積圖的例子,用于分析折扣店商品成交數量的走勢,使用的是R中的ggplot()和geom_area函數。

ggplot(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、 熱點圖

使用場景:熱點圖用顔色的強度(密度)來顯示二維圖像中的兩個或多個變量之間的關系。可對圖表中三個部分的進行信息挖掘,兩個坐标和圖像顔色深度。

超市案例中,如果我們需要知道每個商品在每個折扣店的成本,如下圖中所示,我們可以用三個變量Item_MRP,Outlet_Identifier和Item_type進行分析。

r語言高級可視化(R語言有哪七種可視化應用)12

暗的數據表示Item_MRP低于50,亮的數據表示Item_MRP接近250。

下面是R代碼,使用了ggplot()函數做簡單的熱點圖。

ggplot(train, aes(Outlet_Identifier, Item_Type))

geom_raster(aes(fill = Item_MRP))

labs(title ="Heat Map", x = "Outlet Identifier", y = "Item Type")

scale_fill_continuous(name = "Item MRP")

7、 關系圖

使用場景:關系圖用作表示連續變量之間的關聯性。每個單元可以标注成陰影或顔色來表明關聯的程度。顔色越深,代表關聯程度越高。正相關用藍色表示,負相關用紅色表示。顔色的深度随着關聯程度的遞增而遞增。

超市案例中,用下圖可以展現成本,重量,知名度與折扣店開業的年份和銷售價格之間的關系。可以發現,成本和售價成正相關,而商品的重量和知名度成負相關。

r語言高級可視化(R語言有哪七種可視化應用)13

下面是用作簡單關系圖的R代碼,使用的是corrgram()函數。

install.packages("corrgram")

library(corrgram)

corrgram(train, order=NULL, panel=panel.shade, text.panel=panel.txt,

main="Correlogram")

通過以上的分類介紹和R程序的簡單介紹,相信你可以使用R中的ggplot庫進行自己的數據可視化分析了。 除了可視化分析,你還可以通過我們的網絡課程進一步的學習使用R進行的數據挖掘,歡迎訪問我們的網頁“Google Analytics Data Mining with R”。

在不久的将來,多智時代一定會徹底走入我們的生活,有興趣入行未來前沿産業的朋友,可以收藏多智時代,及時獲取人工智能、大數據、雲計算和物聯網的入門知識和資訊信息,讓我們一起攜手,引領人工智能的未來

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
情深深雨蒙蒙新版演員對比圖
情深深雨蒙蒙新版演員對比圖
或者很多人都認為《情深深雨蒙蒙》才是最早的一個版本,其實在他們還沒飾演之前瓊瑤阿姨就已經出了三個版本,最近新出第五個版本,人物對比一下,你更喜歡哪一個版本的人物1965年台灣電影版歸亞蕾飾陸依萍王引飾陸振華這是第一個版本的《煙雨蒙蒙》,因為...
2025-05-20
連鎖雲餐飲經營管理系統
連鎖雲餐飲經營管理系統
随着消費升級,中國餐飲業的發展一直保持強勁的增長勢頭,良好的發展态勢給優質的餐飲企業提供了巨大的發展空間,從今年開始以快餐、奶茶、小吃、鹵味等特色加盟業态擴張明顯。然而,在餐飲行業高速發展的同時,食材、人力成本提升、管理人才匮乏、成本控制難...
2025-05-20
如何讓電腦顯示所有的隐藏文件
如何讓電腦顯示所有的隐藏文件
如何讓電腦顯示所有的隐藏文件?很多人的電腦中都會藏有一些“小秘密”,不管它是個人隐私,還是辦公機密,應該都不想讓他人看到,但是辦公電腦大多時間都放在公司,即使設置了密碼,也難免會有同事知道,那如何才能确保這些小秘密不會被他人看到呢?今天筆者...
2025-05-20
新買來的冰箱能馬上安裝使用嗎
新買來的冰箱能馬上安裝使用嗎
我們知道很多家電買回來之後是需要安裝的,比如電視、洗衣機等家電。那麼新買的冰箱需要安裝嗎,相信很多人在購買冰箱時都有這樣的疑問。也有些人認為冰箱在購買回來之後接通電源就可以使用了,其實這是不對的。那麼新冰箱使用注意事項有哪些呢?下面大家就跟...
2025-05-20
為什麼蘋果手機不需要貼膜
為什麼蘋果手機不需要貼膜
我不是專業人士,隻能從使用經驗和個人感悟的角度給你參考意見。我使用手機将近20年了,用壞的手機也有十幾部。個人的體驗是不貼膜用着更舒心。很多人認為貼膜有保護作用,其實不然。防摔、防刮、防髒、防爆,其實對于我們用戶來說,這些作用微乎其微,幾乎...
2025-05-20
Copyright 2023-2025 - www.tftnews.com All Rights Reserved