我是一名有用的助手,可以为您翻译以下内容。这是一个数据表:
Name Person Date
A 1 1/1/2004
A 2 1/3/2004
A 3 1/9/2004
B 4 1/7/2004
B 5 1/10/2004
B 6 1/17/2004
我将尝试创建一个类似于以下格式的新数据表格:
Name Person Date
A 1 1/1/2004
A 2 1/1/2004
A 2 1/3/2004
A 3 1/1/2004
A 3 1/3/2004
A 3 1/9/2004
B 4 1/7/2004
B 5 1/7/2004
B 5 1/10/2004
B 6 1/7/2004
B 6 1/10/2004
B 6 1/17/2004
日期从名称组的最小日期开始计算。
到目前为止,我已经做了类似于这样的事情:
data$D = ave(data$Date, data$Name, FUN=min)
diff = data$Date - data$D
sequence(diff) + rep(data$D,diff)
然而,这只会得到一个重复计算中间日期的结果。是否有一种简单的方法从最小日期开始扩展?谢谢!
data.table
格式存在,还是你所说的“data table”只是指data.frame
? - David Arenburgdplyr
与data.table
对象很搭配,所以你的第二个解决方案应该没问题。 - David Arenburg