Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
私はベクトルを持っています:
test <-c(1,1,0,2,2,3,4,1,1,0) test # [1] 1 1 0 2 2 3 4 1 1 0
値がいつ変化するかを示すグループ化変数を作成したいと思います。
# [1] 1 1 2 3 3 4 5 6 6 7
これを行う最善の方法は何ですか?
確かに数値データに対してのみ機能する代替オプション。
test <-c(1,1,0,2,2,3,4,1,1,0) cumsum(c(1L, diff(test) != 0)) # [1] 1 1 2 3 3 4 5 6 6 7
そして、あらゆるデータ型で機能する複雑なバリエーション:
head(cumsum(c(TRUE, c(tail(test, -1), NA) != test)), -1) # [1] 1 1 2 3 3 4 5 6 6 7