我的數據是這樣的:創建基於R中某些條件的欄
ROW ID DATE DO CO EID
1 1 11/1/2010 1500 . 1
2 1 11/1/2010 300 . 1
3 1 11/2/2010 1000 . 1
4 1 11/2/2010 750 . 1
5 1 11/2/2010 0 15 0
6 1 11/2/2010 1400 . 1
7 1 11/2/2010 300 . 1
8 2 11/4/2010 700 . 1
9 2 11/5/2010 2000 . 1
10 2 11/6/2010 0 20 0
11 2 11/6/2010 1500 . 1
12 2 11/6/2010 750 . 1
13 2 11/6/2010 200 . 1
14 2 11/8/2010 2500 . 1
15 2 11/8/2010 2500 . 1
我想它來創建一個列TDD是這樣的:
ROW ID DATE DO CO EID TDD
1 1 11/1/2010 1500 . 1 1800
2 1 11/1/2010 300 . 1 1800
3 1 11/2/2010 1000 . 1 1750
4 1 11/2/2010 750 . 1 1750
5 1 11/2/2010 0 15 0 1750
6 1 11/2/2010 1400 . 1 1700
7 1 11/2/2010 300 . 1 1700
8 2 11/4/2010 700 . 1 700
9 2 11/5/2010 2000 . 1 2000
10 2 11/6/2010 0 20 0 2000
11 2 11/6/2010 1500 . 1 2450
12 2 11/6/2010 750 . 1 2450
13 2 11/6/2010 200 . 1 2450
14 2 11/8/2010 2500 . 1 5000
15 2 11/8/2010 2500 . 1 5000
所以列TDD是什麼,但一個特定ID的相同日期的DO值之和,例如。請參閱第1,2和14,15行。但是,CO值增加了複雜性。注意行3到7,日期是相同的,但所有五行不具有相同的TDD值。第6行和第7行的TDD值是1700而不是1750(第3行到第5行),因爲第5行中的CO列有一個值。
行10到13也具有相同的日期,但行9的TDD值是2000而不是2450.因此,具有CO值的行的TDD值將與其之前的TDD值相同相同的ID。而且,即使日期相同,具有CO值的行也會重置TDD的計算。請參閱第3到第7行。
數據的性質使得每當CO列有值時,DO和EID都爲0。我的數據中有數千個ID,結構相似。如果您可以幫助我使用r代碼根據上述條件計算TDD列的值,那將是非常好的。謝謝。
CO和TDD值之間沒有相關性。 CO值由我任意選擇。我只是想表明,當CO取值時,TDD的計算需要重置。您所指的TDD值1700是行6和行7的DO值的總和。TDD值2450是行11,12和13的DO值的總和。 – 2014-09-23 20:40:18
MrFlick,對不起我的壞。對於輸入中第7行的DATE,它應該是11/2/2010。我如何糾正它? – 2014-09-23 20:43:33
MrFlick第9行和第10行不應該是同一天。 – 2014-09-23 20:44:35