[R语言统计]频数表

频数表在统计学中是一个非常基本并且重要的概念,我们这里就来讲解它的基本用法。

首先我们需要载入数据,并查看数据的基本信息

install.packages('vcd') #安装vcd包,其中有可以利用的数据Arthritis
library(vcd)

载入需要的程辑包:grid
> head(Arthritis)#################################################
ID Treatment  Sex Age Improved
1 57   Treated Male  27     Some
2 46   Treated Male  29     None
3 77   Treated Male  30     None
4 17   Treated Male  32   Marked
5 36   Treated Male  46   Marked
6 23   Treated Male  58   Marked
> class(Arthritis)################################################
[1] "data.frame"
> summary(Arthritis)##############################################
ID          Treatment      Sex          Age          Improved 
Min.   : 1.00   Placebo:43   Female:59   Min.   :23.00   None  :42  
1st Qu.:21.75   Treated:41   Male  :25   1st Qu.:46.00   Some  :14  
Median :42.50                            Median :57.00   Marked:28  
Mean   :42.50                            Mean   :53.36              
3rd Qu.:63.25                            3rd Qu.:63.00              
Max.   :84.00                            Max.   :74.00

从结果中看以看出,Arthritis是一个data.frame结构的数据。其中ID和Age是numeric型的数据,其他三个都是factor型的数据。

创建一维列联表

> a<-table(Arthritis$Improved)#创建一维列联表
> class(a)                    #查看变量a的类型
[1] "table"
> a

None   Some Marked 
42     14     28 

从结果中可以看出,就是如下的表格

NoneSomeMarked
421428

创建二维列联表

> b<-table(Arthritis$Sex,Arthritis$Improved)
> class(b)
[1] "table"
> b
        
         None Some Marked
  Female   25   12     22
  Male     17    2      6

结果是如下表格

 NoneSomeMarked
Female251222
Male1726

 我们还可以将一维列联表a和二维列联表b转化成百分比的形式

> prop.table(a)

     None      Some    Marked 
0.5000000 0.1666667 0.3333333 
> prop.table(b)
        
               None       Some     Marked
  Female 0.29761905 0.14285714 0.26190476
  Male   0.20238095 0.02380952 0.07142857

给table添加边际和

> addmargins(a)####################################

  None   Some Marked    Sum 
    42     14     28     84 
> addmargins(b)####################################
        
         None Some Marked Sum
  Female   25   12     22  59
  Male     17    2      6  25
  Sum      42   14     28  84
> addmargins(prop.table(a))#########################

     None      Some    Marked       Sum 
0.5000000 0.1666667 0.3333333 1.0000000 
> addmargins(prop.table(b))#########################
        
               None       Some     Marked        Sum
  Female 0.29761905 0.14285714 0.26190476 0.70238095
  Male   0.20238095 0.02380952 0.07142857 0.29761905
  Sum    0.50000000 0.16666667 0.33333333 1.00000000

只添加某个部分边际和

> addmargins(prop.table(b),1)
        
               None       Some     Marked
  Female 0.29761905 0.14285714 0.26190476
  Male   0.20238095 0.02380952 0.07142857
  Sum    0.50000000 0.16666667 0.33333333
> addmargins(prop.table(b),2)
        
               None       Some     Marked        Sum
  Female 0.29761905 0.14285714 0.26190476 0.70238095
  Male   0.20238095 0.02380952 0.07142857 0.29761905


参考:R语言实战

转载请注明出处:http://blog.csdn.net/zhyoulun/article/details/46433163

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值