R 基于现有列的新列
我有一个包含日期的列,试图创建一个新的列,显示数字,指示日期在没有任何间隔的情况下持续了多少天R 基于现有列的新列,r,R,我有一个包含日期的列,试图创建一个新的列,显示数字,指示日期在没有任何间隔的情况下持续了多少天 如图所示,日期范围为2015-01-04至2015-01-21,因此,对于2015-01-04,新列将显示1,然后对于2015-01-05,将显示2,对于2015-01-08,将显示5,然而,在这之后有一个1天的间隔,即没有2015-01-10,下一个日期是2015-01-11,因此新栏将再次显示1,2015-01-12将显示2,这将持续到15,因为我们在日期上没有间隔,2015-01-15将显示5
如图所示,日期范围为2015-01-04至2015-01-21,因此,对于2015-01-04,新列将显示1,然后对于2015-01-05,将显示2,对于2015-01-08,将显示5,然而,在这之后有一个1天的间隔,即没有2015-01-10,下一个日期是2015-01-11,因此新栏将再次显示1,2015-01-12将显示2,这将持续到15,因为我们在日期上没有间隔,2015-01-15将显示5,这将再次中断,因为从2015-01-18开始,16和17将没有日期列将再次包含1如果您在问题中有日期列的名称,这将非常有用。由于不太了解您的数据,以下是一个解决方案:
# use dplyr -- might have to install it
library(dplyr)
yourdataname %>%
mutate(FromPreviousDate=as.numeric(difftime(nameofDateCol,lag(nameofDateCol,1))))
其中,yourdataname
是数据框的名称,nameofDateCol
是添加图片的列名
您可能需要安装dplyr
来执行此操作:
install.packages("dplyr")
那应该对你有用 抱歉没有提供名称该栏的名称为“生效日期”,但它不是说1、2、3,而是一直说1,直到日期出现间隔,并且在每个间隔处都说3。非常感谢您的帮助