私は2つのベクトルを持っています
x<-c(1,1,1,2,2,2,3,3,4,5,5,6)
y<-c("a","b","c","d","e","f","g","h","i","j","k","l")
x の一連の等しい値の最初の要素と一致する y のみを選択したいので、私の場合、最終的な解決策は次のようになります。
y x
1 a 1
4 d 2
7 g 3
9 i 4
10 j 5
12 l 6
私たちはスクリプトを書き、それは機能しますが、追加の行を追加および削除する必要があります (後で cbind を使用するため)。
aaa<-data.frame(y,x)
df<-NULL
for (i in 2:length(aaa$x)){ # you may see it stars from the second element because
# of x[i-1]
bbb<-ifelse((aaa$x[i]!= aaa$x[i-1]), aaa$x[i], NA)
df<-rbind(df,bbb)
}
df
df<-rbind(1,df)
aaa$x<-df[,1]
bbb<-na.omit(aaa)
bbb
以前に推奨された rle() を適用しようとしました中断されない番号のみを選択するにはどうすればよいですか? しかし、この場合は失敗しました。
あなたの推薦を聞きたいです、
ありがとうございました。