对于以下数据框:
library(dplyr)
df2 <- data_frame(
Account_Name = c("Walmart","Walmart", "Walmart","Walmart", "Walmart"),
Close_Date = c("2013-09-20", "2014-03-31", "2014-06-02", "2014-08-29", "2014-12-31"))
我使用diff函数计算了客户帐户交易结束日期的时间差:
df2$Close_Date <- as.Date(df2$Close_Date, "%Y-%m-%d")
time_difference <- diff(df2$Close_Date)
我得到的一组价值如下:
> time_difference
Time differences in days
[1] 192 63 88 124
我想知道的是,如何使用脚本将time_difference值集合放入我的df2数据框。对此的挑战是,我的time_difference值中的少了一个数据点,而不是df2中的值。我希望看到它的最终结果
df2 <- data_frame(
Account_Name = c("Walmart","Walmart", "Walmart","Walmart", "Walmart"),
Close_Date = c("2013-09-20", "2014-03-31", "2014-06-02", "2014-08-29", "2014-12-31"),
Time_Difference = c("NA", "192", "63", "88", "124"))
使用NA填充Time_Difference列中的第一项,以便修复/填充少一个数据点问题。
答案 0 :(得分:7)
完全按照自己的意愿行事,并将NA
放在前面。
df$Time_Difference <- c(NA, diff(df$Close_Date))
这基本上是你想要使diff()
与所讨论的矢量长度相同时所做的事情。