我想用不同的年份合并两个数据。
我的数据如下所示,有超过1000家有20年历史的公司。
我想要合并数据来检验A公司的比率对A公司在t+1的计数的影响。
Data A
firm year ratio
A 1990 0.2
A 1991 0.3
...
B 1990 0.1Data B
firm tyear count
A 1990 2
A 1991 6
...
B 1990 4Expected Output
firm year ratio count
A 1990 0.2 6有任何代码合并数据的建议吗?谢谢
发布于 2019-10-16 06:37:02
这将使您开始处理dataset,只需确保您对表进行了正确的延迟/引导转换。
library(data.table)
dt.a.years <- data.table(Year =seq(from = 1990, to = 2010, by = 1L))
dt.b.years <- data.table(Year =seq(from = 1990, to = 2010, by = 1L))
dt.merged <- merge( x = dt.a.years
, y = dt.b.years[, .(Year, lag.Year = shift(Year, n = 1, fill = NA))]
, by.x = "Year"
, by.y = "lag.Year")
>dt.merged
Year Year.y
1: 1990 1991
2: 1991 1992
3: 1992 1993
4: 1993 1994
5: 1994 1995
6: 1995 1996
7: 1996 1997
8: 1997 1998
9: 1998 1999发布于 2019-10-16 06:35:19
像这样怎么样:
A$tyear = A$year+1
AB = merge(A,B,by=c('firm','tyear'),all=F)https://stackoverflow.com/questions/58406403
复制相似问题