Фрейм данных df1
суммирует дату, когда кого-то видели.Я хочу создать столбец, в котором указывается доля дней, в течение которых этот человек был замечен с первого раза.
Например:
df1<- data.frame(ID=c("Peter", "Anna", "Sophie", "Peter", "Anna", "Sophie", "Peter", "Anna", "Sophie", "Peter", "Anna", "Sophie", "Peter", "Anna", "Sophie"),
Date= c("2016-08-20","2016-08-20","2016-08-23","2016-08-21","2016-08-23","2016-08-24","2016-08-23","2016-08-23","2016-08-25","2016-08-27","2016-08-28","2016-08-26","2016-08-27","2016-08-29","2016-08-30"))
df1$Date<- as.Date(df1$Date, format="%Y-%m-%d")
df1
ID Date
1 Peter 2016-08-20
2 Anna 2016-08-20
3 Sophie 2016-08-23
4 Peter 2016-08-21
5 Anna 2016-08-23
6 Sophie 2016-08-24
7 Peter 2016-08-23
8 Anna 2016-08-23
9 Sophie 2016-08-25
10 Peter 2016-08-27
11 Anna 2016-08-28
12 Sophie 2016-08-26
13 Peter 2016-08-27
14 Anna 2016-08-29
15 Sophie 2016-08-30
Важно: для каждого человека первыйнаблюдаемое время варьируется.
Я бы ожидал этого (я делал вычисления вручную, поэтому могут быть некоторые ошибки):
> df1
ID Date Prop_days_seen
1 Peter 2016-08-20 1.00 # 1/1 (First time will always be 1)
2 Anna 2016-08-20 1.00 # 1/1 (First time will always be 1)
3 Sophie 2016-08-23 1.00 # 1/1 (First time will always be 1)
4 Peter 2016-08-21 1.00 # 2/2
5 Anna 2016-08-23 0.50 # 2/4 (two days seen out of 4 days that she could have been seen)
6 Sophie 2016-08-24 1.00 # 2/2 (two days seen out of 2 days she could have been seen)
7 Peter 2016-08-23 0.75 # 3/4
8 Anna 2016-08-23 0.50 # So on...
9 Sophie 2016-08-25 1.00
10 Peter 2016-08-27 0.50
11 Anna 2016-08-28 0.33
12 Sophie 2016-08-26 1.00
13 Peter 2016-08-27 0.50
14 Anna 2016-08-29 0.40
15 Sophie 2016-08-30 0.62
Кто-нибудь знает, как это сделать в R?