私はデータテーブル "the.data"を持っています。最初の列は測定器を示し、残りは測定データです。私はまた私がその時間に各群の和を見つける必要がある、例えばグループ1(G1)は機器1,22つのテーブルの組み合わせから最大値を見つける(forループが遅すぎる)
g1 <- c(1,2)
g2 <- c(4,3,1)
g3 <- c(1,5,2)
g4 <- c(2,4)
g5 <- c(5,3,1,2,6)
groups <- c("g1","g2","g3","g4","g5")
を意味機器のグループを定義している
instrument <- c(1,2,3,4,5,1,2,3,4,5)
hour <- c(1,1,1,1,1,2,2,2,2,2)
da <- c(12,14,11,14,10,19,15,16,13,11)
db <- c(21,23,22,29,28,26,24,27,26,22)
the.data <- data.frame(instrument,hour,da,db)
データ型ごとに最大値とその合計値を持ちます。
G1時間1:和(DA)= 12 + 14 = 26 G1の時間2:和(DA)= 19 + 15 = 34
したがって、G1およびDA答えが時間2値であります私はfor-loop内でfor-loopでこれを行いましたが、時間がかかりすぎます(数時間後に中断しました)。問題はthe.dataが約100,000行であり、2〜50個の計器を持つ約5.000のグループがあることです。
これを行うにはどのような方法が良いでしょうか?
Stack-Overflowのすべての貢献者に感謝します。
更新:サンプルでは5つのグループに変更されました。
/クリス・
これは2つのグループで実行されますが、5つのグループでエラーが発生します。 –
@DWinこれは、機器1〜5のみがサンプルデータに含まれているためです。他のグループは、存在しない計器を参照する。 –
迅速かつ非常に良い答えをありがとう。ここで読んだところ、私は "the.data"でいくつかの楽器を見逃して修正したことに気付きましたが、私の実際のデータには測定値が欠落していました(Instではなく、Hour)。 – Chris