R中的循环和计数

时间:2017-01-16 10:22:40

标签: r loops count

我想计算数据集中的数字在返回0后达到限制(让它为8和-8)的次数 在附件中,您可以看到更好地解释我的问题的图表。 所以使用这组数据应该是6次。你能告诉我如何在R中编码,或者我应该阅读哪些功能以便自己完成。

数据集:enter image description here {1 0 -8 -1 五 3 0 -9 -9 -8 0 7 -6 4 -4 五 -5 0 8 -6 8 -2 8 0 2 7 6 0 -8 -8 }

1 个答案:

答案 0 :(得分:1)

一些想法:

a <- c(1,0,-8,-1,5,3,0,-9,-9,-8,0,7,-6,4,-4,5,-5,0,8,-6,8,-2,8,0, 2,7,6,0,-8,-8) 
b <- split(a,cumsum(a==0)) # b is of class list. The names of the elements names(b) are '1', '2', ...

found <- 0
for (i in 1:length(names(b))) { # iterate over all elements names(b)[i]
  if (sum(abs(b[[names(b)[i]]]) >= 8) > 0) { # i th part b[[names(b)[i]]]
    found <- found + 1 # if there is an entry >8 or <-8 increase counter
  }
}