使用 diff 函数后如何对数据进行制表?

How to tabulate data after using the diff function?

对于以下数据框:

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"))

Time_Difference列中的第一项用NA填充,这样少一个数据点的问题是fixed/filled。

做你想做的事,在前面贴一个NA

df$Time_Difference <- c(NA, diff(df$Close_Date))

这基本上就是您在 diff() 中总是要做的事情,当您想让它的长度与所讨论的向量相同时。