R语言:基本统计分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wy9mHQCj-1607422044447)(F:\JianShu_material\R\图片\基本统计分析\基本统计分析.png)]

1.数据的特征

1.1 数据的集中特征

mean(M)
[1] 7.788
median(M)
[1] 7.25
quantile(M)
 0%     25%  50%    75%   100% 
0.800 4.075 7.250 11.250 17.400
length(M[M>=mean(M)])
[1] 23
summary(M)#返回数据M的概括性信息
 Min. 1st Qu. Median Mean 3rd Qu. Max. 0.800 4.075 7.250 7.788 11.250 17.400

1.2 数据的离散特征

数据的离散特征主要包括了:极差、方差、标准差、分位差等

> M<-USArrests$Murder
> a<-range(M)#返回了数据的最大值和最小值,两者相减即为极差
> a
[1] 0.8 17.4
> a[2]-a[1]
[1] 16.6
> var(M)
[1] 18.97047
> sd(M)
[1] 4.35551
> b<-quantile(M)
> b
 0% 25% 50% 75% 100% 
0.800 4.075 7.250 11.250 17.400 
> b[4]-b[2]
 75% 
7.175

2. 分布函数

R提供了四类分布函数

  • 概率密度函数(density)
  • 累积分布函数(probability)
  • 分位数(quantile)
  • 随机数(random)

例如:

  • dnorm():正态分布的概率密度函数
  • pnorm():正态分布的累积分布函数
  • qnorm():正态分布的分位数函数
  • rnorm():正态分布的随机数生成函数

其他的分布函数用法类似,都是以d、p、q和r字母开头,然后紧接着分布函数的名称,如二项分布binom、指数分布exp、几何分布geom等

正态分布随机数生成函数的基本用法

rnorm(n, mean = 0, sd = 1)
  • 参数n为所需要生成的随机数的个数
  • mean为均值,默认为0
  • sd为标准差,默认为1

如果要生成的随机数重复可使用:set.seed()

set.seed(101)
rnorm(3)
[1] -0.3260365 0.5524619 -0.6749438
rnorm(3)
[1] 0.2143595 0.3107692 1.1739663
set.seed(101)
rnorm(3)
[1] -0.3260365 0.5524619 -0.6749438

3. 数据汇总

3.1 table()函数统计频数

table()的主要功能:统计观测值出现的频数

table(..., exclude = if (useNA == "no") c(NA, NaN), useNA = 
c("no", "ifany", "always"), dnn = list.names(...), deparse.level = 1)
  • …表示一个或多个能够被理解为因子的对象,适合于考察类别型变量的统计分布
table(mtcars$cyl) 
4  6 8
11 7 14
#变量cyl是汽车的气缸数量,从table()函数返回的结果中可以看出,拥有4、6、8个气缸的汽车分别为11、7和14辆
cyl<-mtcars$cyl
gear<-mtcars$gear
table(cyl,gear)
 gear
cyl 3 4 5
4   1 8 2 
6   2 4 1 
8   12 0 2
#首先创建两个变量cyl和gear,分别代表汽车的气缸数量和档位数量。使用函数table()返回的结果是两个变量的交叉频数情况。

3.2 addmargins()函数统计合计

addmargins(table(cyl,gear),c(1,2))
 gear
cyl 3  4  5  Sum
4   1  8  2  11
6   2  4  1  7 
8   12 0  2  14
Sum 15 12 5  32
#函数addmargins()中,其中数字1表示添加1行,以统计各列的合计值,数字2表示添加一列,以统计各行的合计值

3.3 prop.table()函数统计比例

prop.table(table(cyl,gear),1)
gear
cyl      3          4            5 
4   0.09090909  0.72727273  0.18181818
6   0.28571429  0.57142857  0.14285714
8   0.85714286  0.00000000  0.14285714
#函数prop.table()接受的对象是一个table,其中数字1表示在计算比例时,按照每一行加总值等于1的方式来进行,如果选择数字2,则表示按照每一列加总值等于1的方式来进行

3.4 aggregate()函数分组统计

aggregate()函数:首先按照指定的分组变量将数据拆分成为若干子集,然后计算每个子集的统计概要,最后再把这些统计概要以一种合意的方式显示出来

aggregate(x, by, FUN, ..., simplify = TRUE)
  • x为数据框
  • by用于指定分组变量,分组变量的长度必须与数据框x中的变量长度相同,by必须是分组变量的列表
  • FUN是所要计算的统计特征,如均值、分位数等,也可以是自己编写的任意函数
aggregate(mtcars$wt,by=list(cyl,gear),mean)
   Group.1   Group.2     x 
1     4         3    2.465000
2     6         3    3.337500
3     8         3    4.104083
4     4         4    2.378125
5     6         4    3.093750
6     4         5    1.826500
7     6         5    2.770000
8     8         5    3.370000
#使用分组变量为cyl和gear,来对变量wt计算其每个组的均值。Group.1和Group.2分别表示第一个分组变量cyl和第二个分组变量gear。x为所计算的均值

4. function()创建函数

R语言通过function()指令来命名和创建函数,其基本语法是:

f <- function(<arguments>){
    ## Do something interesting
}
  • 首先要给函数赋值,也就是命名,然后在小括号中写入参数,最后再大括号中写入函数要执行的语句
  • 在R中,可以将函数作为参数传递给其他函数,即嵌套
  • 编写函数的过程中可以设置和命名参数,这些参数可以代表数值、矩阵、数据框或逻辑值等等。同时也可以设置一些具有缺省值(默认值)的参数
  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值