四时宝库

程序员的知识宝库

可视化:R语言七仙女,个个都美!(r语言可视化代码)

随着数据量的不断增加,数据可视化成为将数字变成可用的信息的一个重要方式。R语言提供了一系列的已有函数和可调用的库,通过建立可视化的方式进行数据的呈现。

在使用图表分析的时候,常用的有7种图表:

1. 散点图

2. 直方图

3. 柱状图和条形图

4. 箱线图

5. 面积图

6. 热点图

7. 相关图

1、 散点图

散点图通常用于分析两个连续变量之间的关系。



这里使用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代码中增加了分组:

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”)

可以进一步可视化,将散点图以不同的小图表的形式呈现,下图中,每一个小图表都代表一种不同的产品:



代码如下:

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、 直方图

直方图用于连续变量的可视化分析。将数据划分,并用概率的形式呈现数据的规律。我们可以将分类根据需求进行组合和拆分,从而通过这种方式看到数据的变化。



下面是一个简单的画直方图的例子,使用的是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中的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()变量,可以将直方图以水平直方图的方法呈现。



为了得到商品重量(连续变量)和折扣店(分类变量)的关系,可使用下面的代码:

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中的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中的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中的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低于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代码,使用的是corrgram()函数。

install.packages(“corrgram”)

library(corrgram)

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

main=”Correlogram”)

通过以上的分类介绍和R程序的简单介绍,相信你对R语言的兴趣越来越浓厚了,而已经有基础的同学可以使用R中的ggplot库进行自己的数据可视化分析了。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接