我已經在R中發現了很多關於條件累積和的問題和答案,但到目前爲止,我所看到的所有那些涉及到有條件地求和單個變量。在R中的多列上推廣/循環條件累加和算法
我想要做的是概括條件和公式,以便它可以跨多個列循環。我有一個巨大的數據框(大約2500行136列)包含歷史NFL遊戲數據。每個賽季有16行,每場大約130個變量。
我想計算每個統計類別的逐周(累計)累計平均值,最終目的是計算每個團隊的整個聯賽的每週z值。
下面是使用ddply
包,完成這個任務的一個變量(在這種情況下,進攻第二季度的得分)的例子:
ddply(test.data , "TeamSeason" , transform , Cum.Mean = cumsum(O2QPt)/Week)
哪有我經歷了所有技術統計列的循環,而無需使用一個For
循環?如果我必須使用For
循環,有沒有辦法通過數字ID而不是標籤來引用列?
下面的代碼讓我非常接近我想去的地方。榮譽Max Ghenis指向我在正確的方向。
testdata.dt[order(UGID)][, lapply(.SD, cumsum), by="TeamSeason", .SDcols=numerics]
但是,雖然數據是以正確的UGID(唯一遊戲ID)順序列出的,但不會輸出UGID值。如何在輸出中包含此列以便我可以跟蹤表格中的遊戲ID?
您尚未描述「條件」的功能。通過提供代碼來定義「每個統計類別」的含義。 –
我剛纔注意到這個評論。我來自命令式的編程背景,這是我爲此而掙扎的原因之一。 For For循環更好地描述條件性? –