多元数据可视化关键技术
多数据可视化关键技术:
基于Zoo对象的多维数据映射、移动函数和滚动函数Car软件包以及df对象的scatterplot()多映射绘制(强大的平滑椭圆功能),此函数生成图形。相反,scatterplotMatrix()生成映射矩阵。基于Matrix对象的matplot多数据绘图(多y列集成);Corrgram包,基于相关系数矩阵的多相关关系图Df对象绘制coplot()多图表(包括多个Y列和一个或多个列类型变量);基于Df对象的pairs()多相关图绘制定时基于ts的filter()处理plot()多元素绘图,例如二次移动平均m1-filter (tdata,filter=c (rep (1M2-filter (m1,filter=c (rep (1/4,4)),sides=1);Lines (2 * m1-m2,col=' red ',cex=2);基于时序ts系列建模的平滑ma()函数和HoltWinters()指数平滑(TTR包中的Sma()函数,forecast包中的ma()函数,
一元数据的可视化“平滑+优化”的核心技术:
#平滑系列
调和曲线方法
样条插值平滑法spline()
#优化系列
抖动法jitter()
y列数据的“四大归一化”处理方法(sigmoid//minmax//zscore//logone)
多参数移动滚动函数法rollapply()
复杂多维数信系统的可视化表达强化核心技术:
- 太阳花瓣代替“轴须”;
- 一维数据体系的分因子、分不同水平的热图表达;
- 基于类别的多维数据系统的圈图表达;
- 基于多类别的多维数据花瓣图表达。
热图、太阳花图、花瓣图、圈图——圈热太阳花瓣
基于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=)
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)),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,等。
qqplot() 两总体qq图对比分析
qqplot(x,y)函数可以把x和y的次序统计量分别画在x轴和y 轴上,用以比较两个变量的分布。
x <- rnorm(50); y <- rexp(60)
qqplot(x,y,col=(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))
tex;qqline(y)',col=gray))
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));plot(x,sigmoid(x,0.001),col='gold',ann=F,tck=0.01,las=1)
#系数为0.01
par(new=T,fig=c));plot(x,sigmoid(x,0.01),col='red',ann=F,tck=0.01,las=1)
sigmoid函数也叫Logistic函数,用于隐层神经元输出,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类。
sigmoid的最大优点:对复杂的y列数据实现高效、快速地平滑,而且非常容易对其求导。
1.文章《【宝马x2和chr哪个好】R软件数据可视化“核心技”:corr图、matplot图及多元coplot图》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《【宝马x2和chr哪个好】R软件数据可视化“核心技”:corr图、matplot图及多元coplot图》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好