連続した値の実行を持つベクトルがあるとします。
v <- c(1, 1, 1, 2, 2, 2, 2, 1, 1, 3, 3, 3, 3)
実行ごとに 1 つの値と各実行の長さに減らすにはどうすればよいでしょうか。つまり、最初の実行は1
2 回繰り返されます。2 回目: 2
4 回繰り返します。3 回目の実行: 1
2 回繰り返し、など:
v.df <- data.frame(value = c(1, 2, 1, 3),
repetitions = c(3, 4, 2, 4))
手続き型言語では、ループを反復処理して data.frame を構築するだけかもしれませんが、R の大規模なデータセットでは、このようなアプローチは非効率的です。何かアドバイス?