找回密码
 立即注册
查看: 5686|回复: 4

R语言 如何获取一组数据的频数??—R-China小编问题(34)

[复制链接]
发表于 2013-3-19 09:08:48 | 显示全部楼层 |阅读模式
本帖最后由 editor 于 2013-5-25 11:27 编辑

相信大家在数据分析过程中,或多或少的遇到过这样的问题:
已知一堆数字,想知道这堆数据中每一个数字出现的次数。
那么对于这样的简单的问题,如何操作呢?
其实说简单也不简单,因为R存在内存消耗过大的问题。
回复

使用道具 举报

 楼主| 发表于 2013-3-19 09:20:18 | 显示全部楼层
小编在此,给出两种方式,就算抛砖引玉了。下面还请各位高手给出其他方式
1 当这组数据不大的时候,比如百万级以下的时候,可以用table()来实现。
x<-sample(1:10,size=1e+6,replace=T);
table(x);
x
     1      2      3      4      5      6      7      8      9     10
99867 100014 100410 100139 100164 100035  99898 100183 100043  99247

2 当数据量比较大的时候,比如数量级在百万之上,达到千万的时候。大家可以用tabulate()处理
x<-sample(1:10,size=1e+7,replace=T);
b<-tabulate(x);
names(b)<-1:10
b
      1       2       3       4       5       6       7       8       9      10
998164  999179 1001283 1002016  998593  999229 1002417 1000089  999750  999280

注释:
tabulate()
##tabulate takes the integer-valued vector bin and counts the number of times each integer occurs in it.

bin a numeric vector (of positive integers), or a factor. Long vectors are supported.

nbins the number of bins to be used.

回复 2 0

使用道具 举报

发表于 2016-6-9 00:22:21 | 显示全部楼层
对的,table()函数特别好用
回复

使用道具 举报

发表于 2016-7-5 16:23:57 | 显示全部楼层
table函数有点慢。
回复

使用道具 举报

发表于 2023-5-16 14:28:01 | 显示全部楼层
已知一堆数字,想知道这堆数据中每一个数字出现的次数。
那么对于这样的简单的

                                                   澳洲幸运20稳赚技巧  问题,如何操作呢?
其实说简单也不简单,因为R存在内存消耗过大的问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|R语言中文网

GMT+8, 2024-11-22 14:24 , Processed in 0.032205 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表