私はRにかなり慣れておらず、一般的に自分は初心者プログラマーだと考えていると言うことから始めましょう...だから私が何をしているのか知っていると思い込まないでください:)
私は約300,000x14の大きなマトリックスを持っています。これは、基本的に15分のデータの20年のデータセットです。ただし、REC.TYPEという名前の列に文字列「SAO」または「FL-15」が含まれている行のみが必要です。
私のひどく非効率的な解決策は、行ごとに行列を検索し、REC.TYPE列をテストし、基準に一致しない場合は基本的に行を削除することでした。本質的に...
j <- 1
for (i in 1:nrow(dataset)) {
if(dataset$REC.TYPE[j] != "SAO " && dataset$RECTYPE[j] != "FL-15") {
dataset <- dataset[-j,] }
else {
j <- j+1 }
}
コードが1時間でマトリックスの約10%しか通過せず、すべての行で速度が低下するのを確認した後、必要なレコードのみを引き出すためのより効率的な方法が必要だと思います...特に繰り返す必要がある場合これは別の8つのデータセット用です。
誰かが私を正しい方向に向けることができますか?