各実行の最後の要素のインデックスを取得するにはどうすればよいですか?例えばベクトル内の各実行の最後の要素のインデックスを取得します
: たちはベクトル
x=c(1,2,3,4,4,4,5,6,6,7,8,9,9,9,9)
を考えるには、出力ベクトル
x1=1 2 3 6 7 9 10 11 15
は、使用してみまし受けるとします
rank(x)
それは望ましい結果を与えていません。
各実行の最後の要素のインデックスを取得するにはどうすればよいですか?例えばベクトル内の各実行の最後の要素のインデックスを取得します
: たちはベクトル
x=c(1,2,3,4,4,4,5,6,6,7,8,9,9,9,9)
を考えるには、出力ベクトル
x1=1 2 3 6 7 9 10 11 15
は、使用してみまし受けるとします
rank(x)
それは望ましい結果を与えていません。
(おそらくだまされやすい人が、ここであなたが行く...)
あなたはcumsum
と組み合わせ?rle
の魔法の力を使用することができます:rle
の出力がある
cumsum(rle(x)$lengths)
#[1] 1 2 3 6 7 9 10 11 15
を:
rle(x)
#Run Length Encoding
# lengths: int [1:9] 1 1 1 3 1 2 1 1 4
# values : num [1:9] 1 2 3 4 5 6 7 8 9
ありがとうございました – Janak
Rでの()関数の使用R
k<-as.vector(unique(x))
x1<-vector()
for(i in 1:length(k)){
x1[i]=tail(which(x==k[i]),1)
}
あなたの答えをありがとう。 – Janak
'cumsum(rle(x)$ lengths)' –
@docendodiscimus投稿を使用できますか? –
もう一つのオプションは 'tapply(seq_along(x)、x、FUN = tail、1)'です。 – akrun