找回密码
 注册
查看: 17382|回复: 2

R语言中统计数组中某个数字出现次数的代码

[复制链接]
发表于 2012-3-13 19:59:59 | 显示全部楼层 |阅读模式
来自生物统计家园QQ3
Mr.foo请教大家:
我有一个向量 b=c(1,1,1,1,4,4,4,4,5,5,5)
我想输出,从1到5 分别有出现的次数。
请问这么弄呀?

回答:
b=c(1,1,1,1,4,4,4,4,5,5,5)
result=matrix(0,2,max(b))
for (i in 1:max(b)){
  result[1,i]=i;
  temp=0;
  for(j in b){if(j==i){temp=temp+1;}}
  result[2,i]=temp;
}
result

结果:
[,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5
[2,]    4    0    0    4    3

000问,如果数字 顺序是乱的呢 ?

回答:也是没问题的
b=c(1,5,4,1,1,4,4,4,5,1,5)
result=matrix(0,2,max(b))
for (i in 1:max(b)){
  result[1,i]=i;
  temp=0;
  for(j in b){if(j==i){temp=temp+1;}}
  result[2,i]=temp;
}
result
result
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5
[2,]    4    0    0    4    3


回复

使用道具 举报

发表于 2012-3-31 13:46:52 | 显示全部楼层
直接用这个函数就可以了吧?  table(b)
回复 支持 反对

使用道具 举报

发表于 2012-3-31 15:38:00 | 显示全部楼层
qitingecho 发表于 2012-3-31 13:46
直接用这个函数就可以了吧?  table(b)

table(b)的结果是
> b=c(1,1,1,1,4,4,4,4,5,5,5)
> table(b)
b
1 4 5
4 4 3

他好像还要2,3下面都是0,不只要1、4、5,还要2,3
回复 支持 反对

使用道具 举报

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

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-24 12:46 , Processed in 0.027174 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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