R:表的操作


    R语言中的表(table):

> u <- c( 22, 8, 33, 6, 8, 29, -2 )

> f <- list( c( 5, 12, 13, 12, 13, 5, 13 ), 

+     c( "a", "bc", "a", "a", "bc", "a", "a" ) )

> tapply( u, f, length )

   a bc5  2 NA   #缺失值NA,事实上,这个值应该是012 1  113 2  1

> table( f )

    f.2

f.1  a bc  

5  2  0  

12 1  1  

13 2  1

    函数table()第一个参数是因子或者因子的列表。数据框通常作为数据参数。

 

►表中有关矩阵和类似数组的操作

    正如大多数矩阵/数组运算可以用在数据框上,这些运算也能用于表中。我们可以使用矩阵符号来访问表的单元格频数: 

> f <- list( c( 5, 12, 13, 12, 13, 5, 13 ), 

+     c( "a", "bc", "a", "a", "bc", "a", "a" ) )

> t = table( f )

> class( t )

[1] "table"

> t[ 1, 1 ]

[1] 2

> t[ 3, ]

 a bc  2  1 

 

    我们可以使用函数dimnames()获得维度的名称和水平值,具体如下:

> dimnames( t )

$f.1

[1] "5"  "12" "13" 


$f.2

[1] "a"  "bc"

 

►aggregate()函数

aggregate()函数对分组中每一个变量调用tapply()函数。

 

►cut()函数

    cut()函数是生成因子的一种常用方法,尤其是常用语表的操作。该函数需要一个数据向量x和由向量b定义的一组区间,函数将确定x中每个元素将落入哪个区间。

    下面是该函数的调用形式:y <- cut( x, b, labels=FALSE )。

> z <- c( 0.881, 0.285, 0.586, 0.428, 0.468, 0.242, 0.052, 0.881 )

> binmarks <- seq( from=0.0, to=1.0, by=0.1 )

> cut( z, binmarks, labels=F )

[1] 9 3 6 5 5 3 1 9

    最后,该函数返回一个向量,我们可以把它转化为因子,然后用它构建表。例如,可以用这个函数编写自定义的直方图。

 

 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值