Имам набор от данни, където трябва да оценя множество записи с един и същ идентификационен код и да разделя стойност на клетка в последния ред, ако е изпълнен набор от условни условия.
Condtionals = последният ред за този идентификатор има action=="l" & време >60.
Ако това условие е изпълнено, бих искал да променя действието на реда ‹- „e“ и времето ‹- 60. Времето, надвишаващо 60, трябва да бъде поставено в новоформиран ред по-долу. Съдържанието на колоната за новия ред трябва да е идентично с това на родителския ред, с изключение на action=="l" & time==оригинална стойност - 60).
Примерен набор от данни
id <- c("12_1","12_1","12_1","12_2","12_2","12_2")
action <- c("l","d","l","l","d","l")
time <- c(15,45,90,20,30,61)
dtfrm <-data.frame(cbind(id,action,time))
Тестова рамка с данни
id action time
1 12_1 l 15
2 12_1 d 45
3 12_1 l 90
4 12_2 l 20
5 12_2 d 30
6 12_2 l 61
Бих искал трансформираната рамка от данни да изглежда така
id action time
1 12_1 l 15
2 12_1 d 45
3 12_1 e 60
4 12_1 l 30
5 12_2 l 20
6 12_2 d 30
7 12_2 e 60
8 12_2 l 1
В крайна сметка ще имам по-сложни условни условия за оценка, но се опитвам да започна с прости и да си проправя път към по-сложните условни условия, необходими за масажиране на този набор от данни в работен ред. Благодаря.