99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2019-02-28 閱讀量: 4411
如何對某些ID的先前值進(jìn)行計數(shù)/求和?

我有一個數(shù)據(jù)框df1,其中包含公司在某一年內(nèi)進(jìn)行的收購數(shù)量的信息。我需要

a)如果每年每家公司有連續(xù)三年的觀察結(jié)果,則構(gòu)建一個虛擬變量

b)如果該公司年度連續(xù)三年,則將該三年期間的收購數(shù)量相加

df1 <- data.frame(ID=c('XXXX-1999','XXXX-2000', 'XXXX-2001', 'YYYY-1999',

'YYYY-2000', 'ZZZZ-1999','ZZZZ-2000','ZZZZ-2001', 'ZZZZ-2002'),

No.of.Transactions=c(1,0,2,2,2,4,1,0,3))

其中ID是一年內(nèi)公司的觀察結(jié)果。所需的輸出如下

# Desired output

# ID | No.of.Transactions | 3 preceding yrs available dummy? |

No.of.Transactions during 3 preceding yrs

# XXXX-1999 1 0 N/A

# XXXX-2000 0 0 N/A

# XXXX-2001 2 1 3

# YYYY-1999 2 0 N/A

# YYYY-2000 2 0 N/A

# ZZZZ-1999 4 0 N/A

# ZZZZ-2000 1 0 N/A

# ZZZZ-2001 0 1 5

# ZZZZ-2002 3 1 4

那么,如果“前面的3個可用假人?” column取值為1,然后最后一列應(yīng)該總結(jié)公司在焦點和前兩年的所有交易。

28.5714
1
關(guān)注作者
收藏
評論(1)

發(fā)表評論
啊啊啊啊啊吖
2019-02-28

可以使用的組合ave和zoo::rollsumr。如果您仍然需要虛擬變量,則可以從事務(wù)和變量輕松創(chuàng)建它。

library(zoo)

df1$trans.sum <- with(df1, ave(No.of.Transactions, sub("(^.{4}).*", "\\1", ID),

FUN = function(x) rollsumr(x, 3, fill = NA)))

df1

ID No.of.Transactions trans.sum

1 XXXX-1999 1 NA

2 XXXX-2000 0 NA

3 XXXX-2001 2 3

4 YYYY-1999 2 NA

5 YYYY-2000 2 NA

6 ZZZZ-1999 4 NA

7 ZZZZ-2000 1 NA

8 ZZZZ-2001 0 5

9 ZZZZ-2002 3 4

0.0000 0 0 回復(fù)
推薦帖子
條評論