R语言描述性统计分析

来源:互联网 发布:工作站 linux系统 编辑:程序博客网 时间:2024/04/23 23:46

1.mean函数

mean(x,trim=0,na.rm=TURE)
trim 表示剔除的元素的个数所占的比例。所取数值处于0和0.5之间。
若该数值乘以x中的元素个数小于1,则不剔除。若x乘以元素个数大于1,则剔除的个数四舍五入,仍然是从排序后的首尾两端剔除。
> x [1] 100   2   3   4   5   6   7   8   9  10  11  12
> mean(x,trim=0.1)[1] 7.5
> x[5]<-NA> x [1] 100   2   3   4  NA   6  44  55   9  10  11  12
> mean(x)[1] NA
> mean(x,na.rm=TRUE)[1] 23.27273> mean(x[-5])[1] 23.27273
2.加权平均和的函数
> y<-c(3.7,3.5,3.3,2.8)
 wt<-c(5,5,4,1)/15
> wt[1] 0.33333333 0.33333333 0.26666667 0.06666667
> xm<-weighted.mean(y,wt)## 求加权平均和的公式。wt的个数和y中的个数要相等。> xm[1] 3.466667

3.median  若n 为奇数,则为(n+1)/2位置的数,若n 为偶数,则是n/2 和(n/2)+1 位置的数的平均值。

> x<-c(75,64,47,4,66,9,62,2,62,2,58,7,63,5)> median(x)
[1] 52.5
4. 百分位数(quantile)

设求p% 位置的分位数,假设总共有n个样本。则 i=n*p%,若i 不是整数则取比i大的上个整数位置的数,若i 为整数,则取i 和 i +1 位置的数的平均值。

同理如果有缺失值的话,可以用na.rm=TRUE 进行移除。

> x [1] 75 64 47  4 66  9 62  2 62  2 58  7 63  5> quantile(x)   0%   25%   50%   75%  100%  2.00  5.50 52.50 62.75 75.00 
quantile(x)会把各四分位数的值求出来。但是如果我想求每10%位置的值,该如何计算呢?

> quantile(x,probs=seq(0,1,0.1))  0%  10%  20%  30%  40%  50%  60%  70%  80%  90% 100%  2.0  2.6  4.6  6.8 16.6 52.5 61.2 62.1 63.4 65.4 75.0 
需要用quantile(x,probs=seq(0,1,y)) ,其中y 表示百分位数的位置间隔。记住其用法喔。
> quantile(x,probs=seq(0,1,0.05))   0%    5%   10%   15%   20%   25%   30%   35%   40%   45%   50%   55%   60%   65%   70%  2.00  2.00  2.60  3.90  4.60  5.50  6.80  8.10 16.60 41.30 52.50 58.60 61.20 62.00 62.10   75%   80%   85%   90%   95%  100% 62.75 63.40 64.10 65.40 69.15 75.00

seq的用法还记得吗?

seq(from, to, by= )  #by表示步长 seq(from, to, length.out= ) length.out 表示生成多少个数字
假如我只想看其中几个位置的分位数该怎么做呢?

> quantile(x,probs=c(0.1,0.3,0.6,0.8,0.9)) 10%  30%  60%  80%  90%  2.6  6.8 61.2 63.4 65.4 
可以看出,可以给probs=赋予自己想要的一列值就可以。






0 0