编辑:虽然这个问题已经关闭,但值得注意的是,提供的答案使用了一个与2012年原始问题完全不同的方法(使用dplyr)。这些新的答案可能对不同的用户有所帮助。
我有一个包含站点运营最小和最大年份的数据集。但是我想展开这个数据集,使每个站点的运营年份都有一行。
例如:
set.seed(42)
df <- data.frame(
site = rep(LETTERS[1:10]),
minY = sample(1980:1990, 10),
maxY = sample(2000:2010, 10)
)
df
site minY maxY
1 A 1980 2007
2 B 1984 2006
3 C 1990 2003
4 D 1988 2000
5 E 1981 2004
6 F 1983 2005
7 G 1986 2008
8 H 1989 2001
9 I 1987 2009
10 J 1985 2010
所以在我的最终数据集中,站点A将有28行(每年一行)。
我一直在尝试使用complete函数,但是我一直收到一个错误消息:
complete(df,
nesting(site),
fill = list(value1 = minY, value2 = maxY))
Error in vec_is_list(replace) : object 'minY' not found