多元统计图(R语言)

二元变量的散点图

散点图的绘制

二元变量的散点图(Scatter Plots)是将一个变量作为横轴,另一个变量作为纵轴,并将样本一一画在这个坐标系中。这样的散点图能够反映两个变量之间的关系或聚集程度。
R中创建散点图的基础函数是plot(x,y),其中x和y是数值型向量,代表着图形中的(x,y)点。

# 基础函数
plot(df$工数1,df$工数2)

在这里插入图片描述

# 添加坐标轴名字和图名的散点图
plot(df$工数1,df$工数2,main="哈尔滨工业大学信管专业学生工数1与工数2的成绩散点图",xlab="工数1成绩",ylab="工数2成绩")

在这里插入图片描述
为了了解每个样本的准确位置,特别是识别离群样本,需要在图中加上样本好。增加标记的语句是text()。但需要注意,此时为了增加可看性,最好将原来散点图中的“⚪”去掉,即使用type="n"
例如:

plot(df$工数1,df$工数2,main="哈尔滨工业大学信管专业学生工数1与工数2的成绩散点图",xlab="工数1成绩",ylab="工数2成绩",type="n");text(df$工数1,df$工数2)

在这里插入图片描述

散点图矩阵的绘制

散点图可以一次对两个定量变量之间的关系进行可视化。但是如果想观察一个dataframe中所有字段之间的二元关系,应该怎么做呢?一种途径就是将散点图绘制在一个矩阵中,即下面介绍的散点图矩阵。

R中有很多种创建散点图矩阵的函数,在此,使用最基础的plot(dataframe)函数。

plot(df)
# 依然可以使用main=“str”添加主标题

在这里插入图片描述
如果只需要线代和工数1、工数2的散点图,可以使用:

> plot(df$线性代数~df$工数1+df$工数2)
Hit <Return> to see next plot: 
Hit <Return> to see next plot: 

三元变量的气泡图

散点图可以很直观地表现二元变量之间的关系。那么三个变量呢?一种方法是使用三维散点图来表示。而另一种方法就是,先创建一个二位散点图,然后用点的大小来代表第三个变量的值。这就是气泡图(bubble plot)。
气泡图的执行语句是symbols()函数。该函数可以在指定的(x,y)坐标上绘制圆圈图、方形图、温度计图和箱线图。以绘制圆圈图为例:

symbols(x,y,circle=radius)
# 用面积表示第三个变量,套用成:
symbols(x,y,circle=sqrt(z/pi))

例如:

> symbols(df$工数1,df$工数2,circle=r,inches = 0.2,fg="white",bg="lightblue",main="bubble plot")
> text(df$工数1,df$工数2,rownames(df),cex=0.7)

在这里插入图片描述
一般来说,统计人员在使用R是都倾向于不适用气泡图,因为相比于对长度的判断,人们对面积的判断通常更难。

多元变量的雷达图

雷达图是一种将多维变量用二维平面图形表示的方法,通过这种图形可以值观考察多维数据的变化趋势。**在样本量与指标数量都较少的情况下,**可以利用雷达图进行比较分析,并通过对图像特征的提取进行综合评价。

使用stars()函数绘制。

stars(x,full = TRUE,draw.segments = FALSE,len= ,key.loc=c(xcoord,ycoord),)
# x为数值矩阵或数据框
# full为图形形状:full = TRUE表示圆形,full = FALSE表示半圆
# draw.segments控制星相颜色,draw.segments=T彩色,draw.segments=F黑白
# len为半径的尺度因子,表示雷达图的比例
# key.loc为图例位置

注意,绘制雷达图的时候,由于各个指标的尺度和量纲不一样,故一般需要标准化。

stars(scale(df),full=0,draw.segments = T,key.loc = c(10,15))

得到:
在这里插入图片描述

比较多变量分布的箱线图

使用boxplot()函数绘制箱线图。

boxplot(df)

得到:
在这里插入图片描述
为了辨识中位线的位置以便进行比较,可以采用带有“腰线”的箱线图。加入notch=TRUE即可。

boxplot(df,notch=1)

在这里插入图片描述
还可以带有颜色,加入col=rainbow(7)即可。

boxplot(df,notch=1,col = rainbow(7))

得到:
在这里插入图片描述

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值