Rにおける配列の減少
質問
あなたがそうのようなベクトルを持っていると仮定
v <- c(1,1,1,2,2,2,2,1,1,3,3,3,3)
それは最高のこのようdata.frameに減らすことができますか?
v.df <- data.frame(value=c(1,2,1,3),repetitions=c(3,4,2,4))
手続き型言語では、私はちょうどループを反復処理し、私が行くようにdata.frameを構築するが、Rの大きなデータセットで、このようなアプローチは非効率的であるかもしれません。何かアドバイス?
解決
より簡単に
または
data.frame(rle(v)[])
他のヒント
with(rle(v), data.frame(values, lengths))
あなたが必要なものを取得する必要があります。
values lengths
1 3
2 4
1 2
3 4
所属していません StackOverflow