利用“制表”功能

时间:2015-05-21 11:29:38

标签: r

我跑

tf<- tablulate(x):

[1] 75 24 19  1  1 

并尝试制作一个“for”循环,以获得“制表结果”中每个元素的“最大值”,如下所示:

for (element in tf)
{
+ b= max(table(x[element]))
+ print (b)
+ }

我没有得到预期的结果,它可能很简单但不适合我。我试过这个:

> max(table(x[1:75]))
[1] 72
> max(table(x[76:99]))
[1] 11
> max(table(x[100:118]))
and so on ...........

它正在工作,我有我的预期,但如果我有大数据集,它真的很长而且没有乐趣。

1 个答案:

答案 0 :(得分:0)

你可以尝试

 tf <- c(75, 24, 19, 1, 1)
 v1 <- cumsum(tf)
 v2 <- c(1,v1[-length(v1)]+1)
 Map(function(i,j) max(table(x[seq(i,j)])), v2, v1)