【发布时间】:2021-03-07 19:21:40
【问题描述】:
对于以下给定的数据集:
> df <- data.table(ID=LETTERS[1:4],y_min=c(1970,1973,1976,1971),y_max=c(1974,1975,1980,1974))
> df
ID y_min y_max
1: A 1970 1974
2: B 1973 1975
3: C 1976 1980
4: D 1971 1974
ID代表企业ID,y_min和y_max是企业数据出现在数据集中的第一年和最后一年。
如何通过创建一个包含最小和最大年份之间的所有年份的新列“年”来扩展行(按每个公司),因此生成以下内容:
> df
ID y_min y_max year
1: A 1970 1974 1970
2: A 1970 1974 1971
3: A 1970 1974 1972
4: A 1970 1974 1973
5: A 1970 1974 1974
6: B 1973 1975 1973
7: B 1973 1975 1974
8: B 1973 1975 1975
9: C 1976 1980 1976
10: C 1976 1980 1977
11: C 1976 1980 1978
12: C 1976 1980 1979
13: C 1976 1980 1980
14: D 1971 1974 1971
15: D 1971 1974 1972
16: D 1971 1974 1973
17: D 1971 1974 1974
提前致谢!
【问题讨论】:
标签: r data.table grouping