R语言的大数据分析与可视化实战

数据的描述性分析

集中趋势的分布

mean() 均值
weighted.mean(x,w,...) 加权均值
median() 中位数
quantile(x,probs,...) 分位数
fivenum() 计算五数
summary() 总体描述
which.max(table(x)) 计算离散型变量众数

离散趋势的分析

  • 极差
    m <- range(x);m[2]-m[1]
    max(x)-min(x)
  • 四分位差
    q <- fivenum(x);q[4]-q[2]
  • 方差
    var()
  • 标准差
    sd()
  • 离差
    mad(x,center = median(x),constant = 1.4826,na.rm = F,low = F,high = F)

数据的分布分析

  • 偏度
    skewness()
  • 峰度
    kurtosis()

图形分析

  • 直方图
    hist()
  • 密度函数图
    lines()
  • QQ图
    qqnorm()
    qqline()
    qqplot()
  • 茎叶图
    stem
  • 箱线图
    boxplot()
  • 经验分布图
    ecdf() 给出样本的经验分布
    plot(ecdf(),...) 画出经验分布图

多组数据分析

  • 统计分析
    summary() 均值和五数
    var() 协方差阵
    cor() 相关系数矩阵
  • 图形分析
    lowess() 加权多项式回归,二维
    loess() 处理多维的情况
    plot(x~y,...) 散点图
    lines(lowess(x,y),...) 拟合曲线
    kde2d() MASS包,估计二维数据的密度函数
    contour() 密度的等高线图
    plot() 或pairs() 矩阵散点图
    matplot() 矩阵图
    boxplot() 箱线图
    stars() 星图、雷达图

三维等高图实战

#简单二维分布图
library(MASS)
x <- rnorm(10000, 0, 1)
y <- rnorm(10000, 1, 100)
plot (x, y,tck=0.01,xlab='',ylab='',col=rainbow(22),pch=12:17,cex=1:4/3)

#三维图等高值分布
library(MASS)

x <- rnorm(1000, 0, 1)
y <- rnorm(1000, 1, 100)
z <- kde2d(x,y)

contour(z, col =cm.colors(4),lwd=1:3, xlim=c(-2,2),tck=0.01)

“who am I ”三维脸图实战

#
library(aplpack)
cc<-rbind(1:3,5:3,3:5,5:7)
faces(cc)
cc
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    5    4    3
[3,]    3    4    5
[4,]    5    6    7


脸图可以反映最多15个维度的变量信息:


Modified item

Var

1

height of face

var1

2

width of face

var2

3

structure of face

var3

4

height of mouth

var4

5

width of mouth

var5

6

smiling

var6

7

height of eyes

var7

8

width of eyes

var8

9

height of hair

var9

10

width of hair

var10

11

style of hair

var11

12

height of nose

var12

13

width of nose

var13

14

width of ear

var14

15

height of ear

var15

如果该行信息没有15个变量信息,则可以循环使用现有变量;假设只有5个变量,则1-5,6-10,11-15项的人脸参数都用这5个变量。

上图中只有3个变量,则3个变量循环使用了5次。


#
aa<-faces(cc1[1:35,2:4],face.type=0,plot=F)
plot.faces(aa,width=1.5,height=1)

人脸“战”饼图

#
cc<-rbind(1:3,5:3,3:5,5:7)
faces(cc,face.type=2)

par(new=T);pie(1:5,radius=0.3)
par(new=T);pie(1:5,radius=0.2,col=topo.colors(4))
par(new=T);pie(1:5,radius=0.1,col=heat.colors(4),label='')



下面这个图的生成,类似原理,有需要代码的,可以留言。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章