如何用r语言绘制多变量散点图

Python022

如何用r语言绘制多变量散点图,第1张

给你一些代码,你慢慢研究:

install.packages('ggplot2')

library(ggplot2)

ggplot(a)+geom_bar(aes(x1,y,fill/col=x1/x2),position='dodge',stat='summary',fun='sum'/'mean')条形图+theme(text = element_text(family='Kai'))

ggplot(a)+geom_boxplot(aes(x1,y,col=x1/x2))箱线图

ggplot(a)+geom_point(aes(x1,y,col=x1/x2),position=position_jitter(width=0.04))散点图

1+geom_point(aes(x1,y,col=x1/x2),stat='summary',fun='sum'/'mean')+散点

2+geom_line(aes(x1,y,group=1/x2,col=x1/x2),stat='summary',fun='sum'/'mean')+折线

3+geom_errorbar(aes(x=x1,ymin=y-se,ymax=y+se,col=x1/x2),position=position_dodge(0.9),width=0.2)+误差棒

4+geom_text(aes(x1,y,label=marker,col=x1/x2),position=position_dodge(0.9)vjust=2或y+2)+显著字母

ggplot(a,aes(x1,y,fill/col=x1/x2))+geom_bar(position='dodge',stat='summary',fun='sum'/'mean')+geom_errorbar(aes(ymin=y-se,ymax=y+se),position=position_dodge(0.9),width=0.2)+geom_text(aes(label=marker),position=position_dodge(0.9),vjust=-2)条形图+误差棒+显著字母(坐标写一次即可)

ggplot(a,aes(x1,y,col=x1/x2))+geom_point(position=position_jitter(width=0.04),stat='summary',fun='sum'/'mean')+geom_line(aes(group=1/x2),stat='summary',fun='sum'/'mean')+geom_errorbar(aes(ymin=y-se,ymax=y+se),position=position_dodge(0.9),width=0.2)+geom_text(aes(label=marker),position=position_dodge(0.9),vjust=-2)散点图+折线+误差棒+显著字母(坐标写一次即可)

+geom_density(aes(y=liqi))密度图(1个数值型)

+geom_area(aes(x=tan,y=liqi))区域图(2个数值型)

+geom_smooth(aes(x=tan,y=liqi,group/col=chong),formula=y~x,method='lm',se=F)拟合图,分组/线条颜色(2个数值型)

+facet_wrap(~riqi,ncol/nrow=2,labeller='label_both/value')分面图,每行或每列分面数,分面标题

+xlab('自变量1(单位)')+ylab('因变量(单位)')+scale_fill_discrete(name='自变量2')更改轴和图例名称+coord_cartesian(ylim= c(0,80))限定轴范围

(fill=x1/x2,有此即可变色)+scale_fill_manual(values = c('grey70', 'grey50', 'grey30'))改变条形填充颜色(颜色数量=分组数量)

(col=x1/x2,有此即可变色)+scale_color_manual(values = c('red', 'orange', 'yellow'))改变颜色(颜色数量=分组数量)

首先,下载并安装好R软件。打开R软件,可以看到R软件主窗口。

2

为了方便编辑代码,一般不在主窗口直接输入程序。我们可以点击“文件——新建程序脚本”,出现R编辑器。我们将在此输入需要运行的命令。

3

使用因子格式输入数据。这里输入两组数据,以便后面说明详细使用方法。

4

输入命令plot(x),表示绘制序列x的散点图。选中程序,右键,点击“运行当前行或选中代码”,运行程序。按F5键或者Ctrl+R键也可以实现。在图标显示框出现散点图了。

5

输入命令plot(x,y),其中x表示自变量,y是因变量,生成y关于x的散点图。运行命令,即出现散点图。

6

再增加一组数据,用coplot函数绘制多变量的散点图。coplot(x~m|y)表示在不同的y值下,x关于m的散点图。

7

举个例子:

一般人在身高相等的情况下,血压收缩压Y与体重X1和年龄X2有关,抽取13组成年人数据(如下图),构建Y与X1、X2的线性回归关系。

1.先创建一个数据框blood:

  blood<-data.frame(

     X1=c(76,91.5,85.5,82.5,79,80.5,74.5,79,85,76.5,82,95,92.5),

    X2=c(50,20,20,30,30,50,60,50,40,55,40,40,20),

     Y=c(120,141,124,126,117,125,123,125,132,123,132,155,147)

                                )

2.拟合线性回归:

  lm.sol<-lm(Y~X1+X2,data=blood)

  提取模型计算结果

  summary(lm.sol)

这里说一下含义:

1、在计算结果的第一部分(call)列出了相应的回归模型公式;

2、第二部分(Residuals)列出了残差的最小值点、1/4分位点、3/4分位点、最大值点;

3、第三方部分(Coefficients)Estimate表示回归方程参数的估计,std.Error表示回归参数的标准差,t value 为t值,Pr(>|t|)表示p值

说明一下:***表示极为显著,**表示高度显著,*表示显著,.表示不太显著,没有记号表示不显著

4、第四部分(Residual standard error)表示残差的标准差,(F-statistic)表示F的统计量

通过上面的结果可以看出回归模型:Y=2.13656X1+0.40022X2-62.96336

我们根据得出的回归模型进行预测

例如:预测体重X1=100,年龄X2=40的血压值Y

newdata<-data.frame(X1=100,X2=40)

pre<-predict(lm.sol,newdata,interval="prediction",level=0.95)

pre

从结果可以预测值Y166.7011和预测值Y的区间[157.2417,176,1605]