R语言学习笔记6

13 初级统计学描述原始数据数值型变量数字型变量 是将观测值以数值形式存储的变量连续型变量 可以在某个区间取任何值,任何位数离散型变量 只能取离散型数据----在取值范围里,取得是有限个数分类变量两类:名义变量 不能按照逻辑顺序排列的分类变量有序变量 可以排序的分类变量> chickwts[1:5,] weight feed1 179 hors...
摘要由CSDN通过智能技术生成

13 初级统计学

描述原始数据

数值型变量

数字型变量 是将观测值以数值形式存储的变量
连续型变量 可以在某个区间取任何值,任何位数
离散型变量 只能取离散型数据----在取值范围里,取得是有限个数

分类变量

两类:
名义变量 不能按照逻辑顺序排列的分类变量
有序变量 可以排序的分类变量

> chickwts[1:5,]  
  weight      feed
1    179 horsebean
2    160 horsebean
3    136 horsebean
4    227 horsebean
5    217 horsebean

>chickwts$weight #打开后可以知道weight为连续型数值能量
>chickwts$feed   #feed为分类变量,且为有义变量

单变量和多变量数据

单变量数据 一维数据
多变量数据 多维数据

> quakes[1:5,]  #datasets数据包中的  多维数据
     lat   long depth mag stations
1 -20.42 181.62   562 4.8       41
2 -20.62 181.03   650 4.2       15
3 -26.00 184.10    42 5.4       43
4 -17.97 181.66   626 4.1       19
5 -20.42 181.96   649 4.0       11
>plot(quakes$long,quakes$lat,xlab="Longitude",ylab="Latitude")

在这里插入图片描述

参数和统计量

参数 总体特征
统计量 用样本数据估计感兴趣的参数–估计量就为统计量

区分 确定特征数描述的是我们可以用来获得数据样本还是总体

统计概要

集中趋势

均值
众数
中位数

> xdata <- c(2,4.4,3,3,2,2.2,2,4)
> x.bar <- mean(xdata) #均值
> x.bar
[1] 2.825
> m.bar <- median(xdata) #中位数
> m.bar
[1] 2.6
> xtab <- table(xdata)  #table函数可以给出观测值的频数
> xtab
xdata
  2 2.2   3   4 4.4 
  3   1   2   1   1 
  > range(xdata) #返回极端值、长度为2的向量
[1] 2.0 4.4
> max(xtab) #将输出最大频数
[1] 3
#使用逻辑标记向量获得众数
> d.bar <- xtab[xtab==max(xtab)]
> d.bar   #2为观测值 3为频数
2 
3 

如果存在未定义的变量(NA/NAN),将无法获得统计量

> mean(c(1,4,NA))
[1] NA
> mean(c(1,4,NaN))
[1] NaN
> mean(c(1,4,NA),na.rm=TRUE) #可以在运行函数时,强制函数只作用数值型数据
[1] 2.5
> mean(c(1,4,NaN),na.rm=TRUE)
[1] 2.5

可以根据分类变量分组,使用tapply得到要求的统计量

> mean(chickwts$weight[chickwts$feed=="casein"])
[1] 323.5833
> mean(chickwts$weight[chickwts$feed=="horsebean"])
[1] 160.2
> mean(chickwts$weight[chickwts$feed=="linseed"])
[1] 218.75
> mean(chickwts$weight[chickwts$feed=="meatmeal"])
[1] 276.9091
> mean(chickwts$weight[chickwts$feed=="soybean"])
[1] 246.4286
> mean(chickwts$weight[chickwts$feed=="sunflower"])
[1] 328.9167
> tapply(chickwts$weight,INDEX=chickwts$feed,FUN=mean)  #与上面等价, 其中INDEX为分组变量
   casein horsebean   linseed  meatmeal   soybean sunflower 
 323.5833  160.2000  218.7500  276.9091  246.4286  328.9167 

计数、百分比和比例

比例 每类观测值所占的比重

> table(chickwts$feed) #可用于计数

   casein horsebean   linseed  meatmeal   soybean sunflower 
       12        10        12        11        14        12 
       > table(chickwts$feed)/nrow(chickwts) 

   casein horsebean   linseed  meatmeal   soybean sunflower 
0.1690141 0.1408451 0.1690141 0.1549296 0.1971831 0.1690141
> sum(chickwts$feed=="soybean")/nrow(chickwts)  #得到所占比例
[1] 0.1971831
> mean(chickwts$feed=="soybean")
[1] 0.1971831
#计算组合比例,可以使用逻辑运算符
> mean(chickwts$feed=="soybean"|chickwts$feed=="horsebean")
[1] 0.3380282
> tapply(chickwts$weight,INDEX=chickwts$feed,FUN=function(x) length(x)/nrow(chickwts))   
   casein horsebean   linseed  meatm
   eal   soybean sunflower 
0.1690141 0.1408451 0.1690141 0.1549296 0.1971831 0.1690141 

round函数 将输出的数值型数据四舍五入到一定小数位数

> round(table(chickwts$feed)/nrow(chickwts),digits=3)  #digit设置小数位数

   casein horsebean   linseed  meatmeal   soybean sunflower 
    0.169     0.141     0.169     0.155     0.197     0.169

百分比就是比例*100

> round(mean(chickwts$feed=="soybean")*100,1)
[1] 19.7

分位数概括法

四分位数 从一组数值测量结果得到的数值,表明与其他所有观测值相比较,该观测值的顺序 如中位数就是一个四分位数,这就是0.5四分位数
0.25分位数 下四分位数或第一个四分位数
0.75分位数 上四分位数或第3个四分位数
p分位数就是100×p百分位数 如中位数就是第50个百分位数

> xdata <- c(2,4.4,3,3,2,2.2,2,4) 
> quantile(xdata,prob=0.8) #quantile函数可以得到百分位数和分位数
80% 
3.6 
> quantile(xdata,prob=c(0,0.25,0.5,0.75,1)) #第一个参数为数字向量,将数值赋给后面的参数prob,prob可以取一个分位数的数值向量,计算多个分位数
  0%  25%  50%  75% 100%   #得到的是xdata的五分位数
2.00 2.00 2.60 3.25 4.40      #0%(最小值) 50%(中位值)100%(最大值)
> summary(xdata)  #得到上面五个数
 #这个函数会处理数字向量,输出统计量,同时输出均值
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.   #1st Qu.表示第一个四分位数 
  2.000   2.000   2.600   2.825   3.250   4.400     #3rd Qu.表示第三个四分位数

离散程度

> xdata <- c(2,4.4,3,3,2,2.2,2,4)
> ydata <- c(1,4.4,1,3,2,2.2,2,7)
> mean(xdata)
[1] 2.825
> mean(ydata)
[1] 2.825
> plot(xdata,type="n",xlab="",ylab="data vector",yaxt="n",bty="n") 
#yaxt=“n”表示不绘制y轴,bty=“n”表示不绘制图形边框
> abline(h=c(3,3.5),lty=2,col="gray")
> abline(v=2.825,lwd=2,lty=3)
> text(c(0.8,0.8),c(3,3.5),labels=c("x","y"))
> points(jitter(c(xdata,ydata)),c(rep(3,length(xdata)),rep(3.5,length(ydata))))
#jitter可以实现数据抖动,向数值向量添加噪声

在这里插入图片描述

抖动 可以随机改变观测值,以防止重复作图,有利于视觉上解释

方差 测度观测值在算术平均值周围的离散程度
标准差 解释原始观测值的规模,方差的平方根,方差表示平均距离的平方
四分位差 以测度中间50%数据的宽度,也就是中位数两侧0.25分位数之间的距离,就是数据的上四分位数和下四分位数之间的距离

R中计算方差、标准差和IQR的函数分别为var、sd和IQR

> var(xdata)
[1] 0.9078571
> sd(xdata)
[1] 0.9528154
> IQR(xdata)
[1] 1.25
#检验结果
> sqrt(var(xdata))
[1] 0.9528154
> as.numeric(quantile(xdata,0.75)-quantile(xdata,0.25)) #函数是为了消除quantile中的百分位数的注释
[1] 1.25

协方差和相关系数

协方差 表示两个数值变量在什么程度上“一起变化”,两者是正相关关系还是负相关关系
假设n个观测值,两个变量取值:
x = x 1 , x 2 , x 3 , . . . , y = y 1 , y 2 , y 3 , . . . , i = 1 , . . . , n x={x_1,x_2,x_3,...},y={y_1,y_2,y_3,...} ,i=1,...,n x=x1x2x3...y=y1y2y

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值