在数据处理和分析的过程中,我们经常会遇到一些需要计算特定时间间隔的问题。例如,分析一段时间内天气数据,计算从上次降雨到现在的天数是多少。在R语言中,处理这种问题的一个常见方法是使用dplyr包,但我们可以利用purrr包来实现一个更加优雅和简洁的解决方案。
问题背景
假设我们有一个数据框(tibble),包含两列:day(天数)和rained(是否降雨)。day列表示天数,rained列为整数,当天降雨时为1,未降雨时为0。我们的目标是计算一个新的列days_since,表示从上次降雨到当前天数(不包括当前天)的天数。
原始方法
原始方法可能涉及多个步骤,包括创建辅助列,填充值,然后通过减法和条件判断来计算days_since。这种方法虽然能得到结果,但过程复杂且不够优雅。
library(tidyverse)my_tibble<-tibble(day=