这是我的df
(data.frame):
id group date
[1] 1 B 2000-01-01
[2] 1 B 2001-02-11
[3] 1 A 2001-04-06
[4] 2 C 2000-02-01
[5] 2 A 2001-01-01
[6] 2 B 2004-11-12
...
data.frame已按ID和日期排列。 我想计算每个id的A组和它上面的行之间的日期(以天为单位)的差异。在我的数据中,每个组A在其上方都有一行用于相同的ID。
我感兴趣的结果看起来像这样
id days
[1] 1 54
[2] 2 335
...
请告知
感谢。
答案 0 :(得分:3)
由于它已经排序,你可以这样做:
false
true
false
false
false
false
给出:
10
/ \
5 4
\ / \
4 1 2
/ /
3 1
/ \
1 1
答案 1 :(得分:2)
以下是使用dplyr
library(dplyr)
#make sure "date" has the appropriate class
df$date <- as.POSIXct(df$date, format = '%Y-%m-%d')
df %>%
group_by(id) %>%
mutate(diff1 = c(NA, round(diff.difftime(date, units = 'days')))) %>%
filter(group == 'A') %>%
select(id, diff1)
#Source: local data frame [2 x 2]
#Groups: id [2]
# id diff1
# <int> <dbl>
#1 1 54
#2 2 335
答案 2 :(得分:0)
我们可以使用 id diff_days
<int> <time>
1 1 54 days
2 2 335 days
[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
UIImage *image = [UIImage imageNamed:@"logoHeader"];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStyleDone target:self action:nil];
self.navigationItem.leftBarButtonItem = backButton;