df<-cbind(
t1=c(1,1,1),
t2=c(1,1,1),
t3=c(0,1,1),
t4=c(1,0,1),
t5=c(1,1,1),
t6=c(1,1,1),
t7=c(1,1,0),
t8=c(0,1,1),
t9=c(1,1,1))
> df
t1 t2 t3 t4 t5 t6 t7 t8 t9
[1,] 1 1 0 1 1 1 1 0 1
[2,] 1 1 1 0 1 1 1 1 1
[3,] 1 1 1 1 1 1 0 1 1
和我需要计数每行中的“一”在T3,T6和T9。 每次计数器到达3必须回零并重新开始。
在这种情况下的结果应该是:
new_t3 = 0, 3, 3
new_t6 = 3, 2, 3
new_t9= 1, 3, 2
我怎么能指望这些连续的“个位”的值在T3,T6和T9? 我看过rle,但我仍然遇到麻烦!
任何帮助:)感谢
为什么new_t3的第一个值是0,而不是2?是不是在t3之前有两个'1'?或者我没有得到什么? – digEmAll
此外,你想每3个元素重置为零,或者只有当总和达到3时才重置为零?请给出你的算法的更多细节......目前你的预期结果似乎是错误的根据你的解释...可能一步一步解释第一行可能就足够了 – digEmAll
弗雷德我无法理解你的结果链接。 – Balter