今天已有 70 位用户得到了商梦的专业解答
是这样的,我对营销还是有两下子的,您可以告诉我您的营销疑问,反正也不花钱,对吧
您的疑问(选填)
您的电话:

手机号输入有误

手机号输入有误
提交成功!

稍后严选师将致电您,为您提供免费营销咨询服务


关注镖狮公众号

免费营销课程

海量营销攻略

专家在线解答

业务案例展示

提交失败!

您的需求发布失败,请检查网络后重新发布或致电400-9010-860联系我们


关注镖狮公众号

免费营销课程

海量营销攻略

专家在线解答

业务案例展示

r语言 apply(r语言和python的区别)

分享到 微信二维码
author author 文章时间 2022-07-04
多元数据可视化核心技术 多元数据可视化核心技术: 基于zoo对象的plot.zoo多维数据图,移动变函与滚动函…

多元数据可视化核心技术

多元数据可视化核心技术:

  1. 基于zoo对象的plot.zoo多维数据图,移动变函与滚动函数
  2. 基于car包、df对象的scatterplot()多元图绘制(超强的平滑+椭圆功能),该函数产生一张图;而scatterplotMatrix()可以产生图矩阵;
  3. 基于matrix对象的matplot多元数据绘图(多y列合一);
  4. 基于corrgram包、相关系数矩阵的多元相关关系图;
  5. 基于df对象的coplot()多元图绘制(多y列且含有至少一列类型变量);
  6. 基于df对象的pairs()多元相关图绘制;
  7. 基于时序ts的filter()处理转plot()多元图绘制(效果优于pairs(),例如二次移动平均m1<-filter(tdata,filter=c(rep(1/4,4)));plot(tdata); m2<-filter(m1,filter=c(rep(1/4,4)),sides=1); lines(2*m1-m2,col="red",cex=2));
  8. 基于时序ts系列模型化的平滑ma()函数及HoltWinters()指数平滑(还有TTR包的SMA()函数,forecast包中的ma()函数,这些主要适于建模,而非可视化用途的平滑);
  9. 基于多项式回归的最传统方法,如果多项式函数的次数足够大,则可以获得任何一种平滑模型reg=lm(y~poly(x,a),data=db), a=3/10/25,如果a数值越大,会获得越多的“波动”详解R语言中的多项式回归、局部回归、核平滑和平滑样条回归模型_R语言_脚本之家

一元数据的可视化“平滑+优化”的核心技术:

#平滑系列
调和曲线方法
样条插值平滑法spline()

#优化系列
抖动法jitter()
y列数据的“四大归一化”处理方法(sigmoid//minmax//zscore//logone)
多参数移动滚动函数法rollapply()

复杂多维数信系统的可视化表达强化核心技术:

  1. 太阳花瓣代替“轴须”;
  2. 一维数据体系的分因子、分不同水平的热图表达;
  3. 基于类别的多维数据系统的圈图表达;
  4. 基于多类别的多维数据花瓣图表达。

热图、太阳花图、花瓣图、圈图——圈热太阳花瓣


基于corrgram包的多元相关图

#数据集cc可以自动生成,20*5,此处以某数据集为例说明;
cor(cc);str(cor(cc));class(cor(cc)) #求相关系数矩阵
           tt               pH                   Rp               i               E
tt  1.0000000  0.00000000 -0.5805694  0.5135034 -0.58272350
pH  0.0000000  1.00000000 -0.2519871  0.1841605 -0.05585786
Rp -0.5805694 -0.25198714  1.0000000 -0.7807798  0.73860331
i   0.5135034  0.18416049 -0.7807798  1.0000000 -0.91915136
E  -0.5827235 -0.05585786  0.7386033 -0.9191514  1.00000000
 num [1:5, 1:5] 1 0 -0.581 0.514 -0.583 ...
 - attr(*, "dimnames")=List of 2
  ..$ : chr [1:5] "tt" "pH" "Rp" "i" ...
  ..$ : chr [1:5] "tt" "pH" "Rp" "i" ...
[1] "matrix" "array" 

corrgram(cc,order=T,lower.panel=panel.cor,upper.panel=panel.ellipse,diag.panel=panel.density)
mtext(paste(c('腐蚀电位','极化电阻','温度','腐蚀速度','pH值'),'          ',collapse=''), side=1, cex=1.6, line = -1.5, outer=TRUE, xpd=NA,col='green')


矩阵数据绘图matplot

  • 关于矩阵的创建、调用、行列名称设置、转置……,略。
  • matplot:将矩阵mymat 的行向量作x 轴,列作 y 轴进行绘图;matplot的优势在于可以将多个列绘在一张图上,并且给出效果区分;
head(cc1)
      date meantempc maxtempc mintempc   V5
1 1987/1/2      2.39     2.78     1.61 1987
2 1987/1/3      4.06     5.11     1.89 1987
3 1987/1/4      4.67     5.78     2.22 1987

matplot(cc1[1:888,2:4],las=1,col.axis='red',tck=0.01)
grid()

matplot(cc1[1:388,2:4],las=1,col.axis='red',col=rgb(c(5,9,2)/10,0,0,alpha=c(0.7,0.9,0.2)),tck=0.01,cex=1.5)
 grid(col='lightblue')


coplot() 协同图

coplot()函数可以用于绘制多元图;对应用法 coplot(y ~ x | z)。

例如:当有三、四个变量时,coplot函数可以将散点图画得更细。

假设,a和b是数值向量,c是因子或向量(所有变量具有相等的长度。)

coplot(a~b|c) #在给定c值下,a关于b的散点图。

 x;y;z
 [1]  72 146  94  70  18  87  49  12  65 157 130  60  52 149 124 129 164 174
[19] 147 128  93 131 110
 [1] 236.26 227.51 295.79 448.65 241.66 216.44 387.64 328.80 207.62 445.84
[11] 236.57 452.14 469.31 414.92 357.53 333.12 461.64 330.51 470.70 312.95
[21] 302.25 327.33 242.94
 [1] 浙江 浙江 浙江 浙江 浙江 浙江 江西 江西 江西 江西 江西 江西 北京 北京
[15] 北京 北京 北京 北京 广州 广州 广州 广州 广州
Levels: 北京 广州 江西 浙江

 coplot(x~y|z,col=rainbow(4),cex=3,type='o',lty=3,lwd=3,bar.bg = c(fac = "gold"))

如果z是一个数值型变量,则coplot() 先对z的取值分组,然后对z的每一组取值分别绘图。

甚至可以用如coplot(y~x | x1*x2)表示对x1和x2的每一水平组合绘图。

z2<-sample(c('甲亥','可观'),23,replace=T)
coplot(x~y|z*z2,col=cm.colors(4),cex=3,type='o',lty=3,lwd=3,bar.bg = c(fac = "red"))

coplot()和pairs()函数缺省绘制散点图,但可以用一个panel= 参数指定其它的低级绘图函数,如lines,panel.smooth等。


qqplot() 两总体qq图对比分析

qqplot(x,y)函数可以把x和y的次序统计量分别画在x轴和y 轴上,用以比较两个变量的分布。

x <- rnorm(50); y <- rexp(60)    

qqplot(x,y,col=topo.colors(40),las=1,tck=0.01,cex=1.8)  # #可以判断是不是同一个类型的分布
text(x,y,round(y),col=rainbow(12))
grid()
qqline(x,col='green',lwd=3,lty=2)
qqline(y,col='blue',lwd=3,lty=3)
text(1,1.2,pos=4,'qqline(x)',col=gray(0.25))
text(0.7,2.2,'qqline(y)',col=gray(0.4))

qqline(x) 在qqnorm(x)图或qqplot()图的基础上,画一条拟合曲线。

qqnorm(x)对向量x作正态概率(纵轴为次序统计量值,横轴为对应该次序统计量的标准正态分布分位数值)。


数据预处理中的归一化“大神”操作

数据归一化方法有四种经典方法,其分别是sigmoid//minmax//zscore//logone法。

由于数据本身的性质不同,怎样选择适合的归一化方法?以及在运用时如何调整参数?此处以sigmoid为例说明。

#三层图示sigmoid归一大法
plot(x[500:1500],sigmoid(x[500:1500],0.01),col='blue',las=1,tck=0.01,col.axis='red');grid()
par(new=T,fig=c(0.05,0.5,0.1,0.95));plot(x,sigmoid(x,0.001),col='gold',ann=F,tck=0.01,las=1)
#系数为0.01
par(new=T,fig=c(0.5,0.95,0.1,0.9));plot(x,sigmoid(x,0.01),col='red',ann=F,tck=0.01,las=1)

sigmoid函数也叫Logistic函数,用于隐层神经元输出,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类。

sigmoid的最大优点:对复杂的y列数据实现高效、快速地平滑,而且非常容易对其求导。


                           

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。

加我微信: sumwb886 备注: 外包

免费领推广引流方案+100种卖货方法


相关文章 更多>


Copyright © 商梦外包. All rights reserved.商梦网校 版权所有 苏ICP备14047127号-16 SiteMap

咨询
电话
联系我们
客服中心
联系方式
400-9010-860
- 在线客服
微信号:sumwb886