Referring to the question "Calculating average of based on condition", I need to calculate average
of the column E
based on the column F
Below is my part of data frame df
but my actual data is 65K values.
E F
3.130658445 -1
4.175605237 -1
4.949554963 0
4.653496112 0
4.382672845 0
3.870951272 0
3.905365677 0
3.795199341 0
3.374740696 0
3.104690415 0
2.801178871 0
2.487881321 0
2.449349554 0
2.405409636 0
2.090901539 0
1.632416356 0
1.700583696 0
1.846504012 0
1.949797831 0
1.963114449 0
2.033100326 0
2.014312751 0
1.997178247 0
2.143775497 0
Based on the solution provided in the mentioned post, below is my script.
setDT(df)[, Avg := c(rep(mean(head(d$fE, 5)), 5), rep(0, .N-5)),
cumsum(c(TRUE, diff(abs(F)!=1)==1))]
But when executed I am getting the below error.
Error in rep(0, .N - 5) : invalid 'times' argument