同様のレベルで増加しない数字を確認して拒否する一連の数字があります。例えば同じ増加で増加しない数字のシーケンス内の番号を拒否する
data <- c(1, 2, 5, 6, 6.25, 6.49, 6.75, 7.01, 8, 9, 11)
、ここではデータのために私は0.25 +/- 0.1の増加と数字のサブセットをしたい、とこのルールに従わない数字を拒否。この場合、部分集合化されたシーケンスは、(6,6.25,6.49,4.75,7.01)となる。
同様のレベルで増加しない数字を確認して拒否する一連の数字があります。例えば同じ増加で増加しない数字のシーケンス内の番号を拒否する
data <- c(1, 2, 5, 6, 6.25, 6.49, 6.75, 7.01, 8, 9, 11)
、ここではデータのために私は0.25 +/- 0.1の増加と数字のサブセットをしたい、とこのルールに従わない数字を拒否。この場合、部分集合化されたシーケンスは、(6,6.25,6.49,4.75,7.01)となる。
ここでは、保持したいインデックスを取得するための醜い方法です。あなたは別のカットオフ値
myfun <- function(D) {
index <- unique(c(which(abs(diff(D)) < 0.35), which(abs(diff(D)) < 0.35)+1))
return(sort(index))
}
コール
data[myfun(data)]
# [1] 6.00 6.25 6.49 6.75 7.01
別のテスト
test <- c(1, 1.25, 2, 2.25, 3, 4.5, 4.75, 5, 5.45, 5.65)
test[myfun(test)]
# [1] 1.00 1.25 2.00 2.25 4.50 4.75 5.00 5.45
へようこそSOであなたが望む答えを取得する機能に興味があるなら
0.35
を変更します。このサイトはコード作成サービスではなく、完全なソリューションを提供するためのものではありません。ユーザーは、途中で特定のプログラミング問題を解決するのに役立つために、ここにいくつかの努力とコードを示すことが期待されます。もう何か試しましたか? https://stackoverflow.com/help/asking –