Veri çerçevem nasıl görünüyor. En sağdaki sütun ("TimeForLevelChange") istenen sütüm. Belirli bir İsim için bir seviye değiştiğinde, minimum seviyeyi önceki seviyeden almak ve seviye değişikliğinin gerçekleştiği satırdan tarihi almak ve farkı hesaplamak istiyorum. Yani üçüncü satırda, John seviye 1'den 2'ye değişti ve o 16 gün (2016/01/17 - 2016/01/01) harcanan seviyeye değiştirmeden önce düzeyinde 1'de 2.Bu seviye değiştiğinde belirli bir düzeyde harcanan zamanın hesaplanması
library(data.table)
dt <- fread('
Name Level Date RecentLevelChange TimeForLevelChange
John 1 2016-01-01 NA NA
John 1 2016-01-10 NA NA
John 2 2016-01-17 1->2 16
John 2 2016-01-18 NA NA
John 3 2016-01-22 2->3 5
John 4 2016-01-26 3->4 4
John 4 2016-01-27 NA NA
John 7 2016-01-29 4->7 3
Tom 1 2016-01-10 NA NA
Tom 2 2016-01-17 1->2 7
Tom 2 2016-01-18 NA NA
Tom 3 2016-01-22 2->3 5
Tom 4 2016-01-26 3->4 4
Tom 4 2016-01-27 NA NA
Tom 7 2016-01-29 4->7 3
')
dt[, Date := as.IDate(Date)]
Ben ayarını kullanabilirsiniz data.table işlevinde ancak belirli bir ad için minimum düzeyden önceki tarihin nasıl tanımlanacağını bilmiyorum.