R 获取最大值并移动到新列中

R 获取最大值并移动到新列中,r,spread,R,Spread,我希望按ID获取最大日期,并将这些行中的信息分散到新列中: ID Date Paid 1 1/1/2006 $500 1 2/5/2010 $300 2 5/3/2013 $600 2 6/7/2018 $700 我怎样才能做到这一点呢?我们可以做到 ID Date Paid Max. Date Max. Paid 1 1/1/2006 $500 2/5/2010 $300 2 5/3/2013 $600 6/7/2018 $700

我希望按ID获取最大日期,并将这些行中的信息分散到新列中:

ID Date      Paid
1  1/1/2006  $500
1  2/5/2010  $300
2  5/3/2013  $600
2  6/7/2018  $700
我怎样才能做到这一点呢?

我们可以做到

ID Date      Paid   Max. Date Max. Paid
1  1/1/2006  $500   2/5/2010  $300
2  5/3/2013  $600   6/7/2018  $700
库(dplyr)
df1%>%
变异(日期=as.Date(日期,%m/%d/%Y'))%>%
安排(ID,日期)%>%
分组依据(ID)%>%
总结(最长日期=最后一次(日期),最长付款=最后一次(付款),
已付=第一次(已付),日期=第一次(日期))
#一个tibble:2x5
#ID最大日期最大付款日期
#                 
#1     1 2010-02-05 $300     $500  2006-01-01
#2     2 2018-06-07 $700     $600  2013-05-03
数据
df1我们可以

ID Date      Paid   Max. Date Max. Paid
1  1/1/2006  $500   2/5/2010  $300
2  5/3/2013  $600   6/7/2018  $700
库(dplyr)
df1%>%
变异(日期=as.Date(日期,%m/%d/%Y'))%>%
安排(ID,日期)%>%
分组依据(ID)%>%
总结(最长日期=最后一次(日期),最长付款=最后一次(付款),
已付=第一次(已付),日期=第一次(日期))
#一个tibble:2x5
#ID最大日期最大付款日期
#                 
#1     1 2010-02-05 $300     $500  2006-01-01
#2     2 2018-06-07 $700     $600  2013-05-03
数据
df1
df1 <- structure(list(ID = c(1L, 1L, 2L, 2L), Date = c("1/1/2006", "2/5/2010", 
"5/3/2013", "6/7/2018"), Paid = c("$500", "$300", "$600", "$700"
)), class = "data.frame", row.names = c(NA, -4L))