我在数据框中有一列跟踪时间的变化。我正在努力弄清楚如何编写ifelse语句来创建序列,以便当数字(时间变化)大于10时,它将递增1。例如,要创建一个片段,请输入以下内容:
input <- c(1,1,1,2,5,2,4,9,11,1,1,15,2,1)
这是我想要的输出:
output <- c(1,1,1,1,1,1,1,1,1,2,2,2,3,3)
当数字大于10时,向量中的下一个数字递增至2,然后递增3。
我尝试做类似使用ifelse创建这样的标志的操作:
ifelse(input>10,1,0)
但我似乎无法将所有内容放在一起。任何帮助,将不胜感激。
尝试 cumsum
cumsum(c(TRUE,(input>10)[-length(input)]))
#[1] 1 1 1 1 1 1 1 1 1 2 2 2 3 3
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句