質問

あなたがそうのようなベクトルを持っていると仮定

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top