Я думаю, что проблема заключается в group_by(id)
. Удалите этот элемент, и вы получите то, что хотите:
library(tidyverse)
df1<-tribble(~id ,~ date ,~ value ,
2222 , "11/1/12" , 22.65 ,
2222 , "11/2/12" , 23.11 ,
20100 , "10/30/12" , 35.21 ,
20100 , "11/2/12" , 38.97 ,
20103 , "10/30/12" , 57.98 ,
20103 , "10/31/12" , 60.83 )
df2<-tribble(~id ,~ date ,~ value,
2222 , "10/30/12" , 21.01 ,
2222 , "10/31/12" , 22.04 ,
20100 , "10/31/12" , 37.07 ,
20100, "11/1/12" , 38.17 ,
20103 , "10/29/12" , 57.98 ,
20103 , "10/16/12" , 60.83 )
df1<-df1%>%mutate(date= as.Date(df1$date,format= "%m/%d/%y"))
df2<-df2%>%mutate(date= as.Date(df2$date,format= "%m/%d/%y"))
data_RN<-df1 %>%mutate(datediff= df1$date-df2$date)
Output:
# A tibble: 6 x 4
id date value datediff
<dbl> <date> <date> <drtn>
1 2222 2012-11-01 2012-11-01 2 days
2 2222 2012-11-02 2012-11-02 2 days
3 20100 2012-10-30 2012-10-30 -1 days
4 20100 2012-11-02 2012-11-02 1 days
5 20103 2012-10-30 2012-10-30 1 days
6 20103 2012-10-31 2012-10-31 15 days