讓我先說我是相當新的R和通常認爲自己是一個新手程序員開始......所以不要以爲我知道我在做什麼:)搜索矩陣只有某些記錄
我有一個很大的矩陣,大約300,000 x 14。它本質上是一個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 }
}
看我的代碼通過僅約10%的基質得到一個小時,每排放緩之後......我想一定有拉出只記錄的更有效的方法我需要...特別是當我需要爲其他8個數據集重複此操作時。
任何人都可以指向正確的方向嗎?
你的問題會更加有意義給他人。現在我們必須猜測'數據集'是什麼。這使得問題更加本地化,對未來的搜索者不太有用。 – 2013-03-03 07:29:47
這裏真正殺死你的是你一直在重寫數據集。不要這樣做! – 2013-03-03 08:30:58