我有一个数据集,我需要在其中计算不同日期和初始日期之间的天差。更准确地说,这是列表的示例:
date page count
23/01/2015 a 1
08/01/2015 b 514
09/01/2015 b 532
10/01/2015 b 175
11/01/2015 b 89
12/01/2015 b 113
13/01/2015 b 97
10/01/2015 c 373
11/01/2015 c 373
12/01/2015 c 315
13/01/2015 c 104
14/01/2015 c 52
15/01/2015 c 21
09/02/2015 d 13
10/02/2015 d 15
11/02/2015 d 6
12/02/2015 d 2
13/02/2015 d 5
14/02/2015 d 6
15/02/2015 d 6
我想要实现的是计算页面“b”中的第一个日期与剩余天数之间的天数。因此,对于页面“b”,我现在认为第二个条目是第一个日期后的 1 天,下一个条目是 2 天,依此类推。这里的问题是我有不同的页面和不同的初始日期。
谢谢
将date
列转换为“date”
类,并使用ave
将页
中的第一个日期
彼此相减。未使用任何包。
DF$date <- as.Date(DF$date, "%d/%m/%Y")
transform(DF, offset = ave(as.numeric(date), page, FUN = function(x) x - x[1]))
如果我们知道页面中的日期总是连续的,那么最后一行可以简化为:
transform(DF, offset = ave(count, page, FUN = seq_along) - 1)
无论哪种情况,我们都会得到:
date page count offset
1 2015-01-23 a 1 0
2 2015-01-08 b 514 0
3 2015-01-09 b 532 1
4 2015-01-10 b 175 2
5 2015-01-11 b 89 3
6 2015-01-12 b 113 4
7 2015-01-13 b 97 5
8 2015-01-10 c 373 0
9 2015-01-11 c 373 1
10 2015-01-12 c 315 2
11 2015-01-13 c 104 3
12 2015-01-14 c 52 4
13 2015-01-15 c 21 5
14 2015-02-09 d 13 0
15 2015-02-10 d 15 1
16 2015-02-11 d 6 2
17 2015-02-12 d 2 3
18 2015-02-13 d 5 4
19 2015-02-14 d 6 5
20 2015-02-15 d 6 6
注:
我们将其用作DF
:
Lines <- "date page count
23/01/2015 a 1
08/01/2015 b 514
09/01/2015 b 532
10/01/2015 b 175
11/01/2015 b 89
12/01/2015 b 113
13/01/2015 b 97
10/01/2015 c 373
11/01/2015 c 373
12/01/2015 c 315
13/01/2015 c 104
14/01/2015 c 52
15/01/2015 c 21
09/02/2015 d 13
10/02/2015 d 15
11/02/2015 d 6
12/02/2015 d 2
13/02/2015 d 5
14/02/2015 d 6
15/02/2015 d 6"
DF <- read.table(text = Lines, header = TRUE)
在Excel中,如果日期从A2开始,页面从B2开始,那么在D2中尝试复制此公式
=A2-INDEX(A$2:A2,MATCH(B2,B$2:B2,0))
使用INDEX/MATCH
查找该页面的第一个日期并减去当前日期以提供差异-对于页面的第一个日期,它将为您提供零
试试吧
library(dplyr)
df2 %>%
mutate(date = as.Date(date, format='%d/%m/%Y')) %>%
group_by(page) %>%
mutate(Diff= abs(as.numeric(date[1L]-date)))
或者base R
选项将是
unsplit(lapply(split(df2, df2$page), function(x) {
Date <- as.Date(x$date, format='%d/%m/%Y')
x$Diff <- as.numeric(Date-Date[1L])
x }), df2$page)
问题内容: 查看两个日期之间有多少整天的最短方法是什么?这就是我现在正在做的。 问题答案: 假设您确实有两个日期对象,则可以从另一个对象中减去一个,然后查询结果对象的天数: 它也适用于日期时间-我认为它会四舍五入到最近的日期:
问题内容: 我想比较我的Android应用程序的两个日期,但是遇到了一个非常奇怪的问题。 例如: 如果我将日期设置为127天之前: 然后将其与当前日期(两天之间)进行比较 它将返回22,这根本不是预期的结果。 我做错什么了吗?还是班上有问题? 问题答案: 请参考此代码,这可能会对您有所帮助。
我需要计算两个日期之间的天数差。 最后我需要知道某个日期是否已经到期。 但我想不出解决办法。 字段的类型为datetime 服务ts 检查许可证。ts
问题内容: 如何使用PHP查找两个日期之间的天数? 问题答案:
我有两次约会。一个是以YYYYMMDD格式从其他应用程序的表中检索的,第二个日期是本地时间,我需要这两个日期之间的天数/月/年。 我试过了 但这给了我一些乱七八糟的数字。 变量$t=Fri Dec31 00:00:00 9999 变量$今天=Wed Feb19 14:40:55 2020 产出:25182094888 有什么想法吗?提前谢谢。
问题内容: 我有两个这样的表: 表格1 表2 我想从 Table1中 选择并插入 Table2中 。 例如: 在表1中,我有这个 在表2中,我想要这个 带有样本数据的表结构 问题答案: 感谢您的架构。它使处理您的问题变得容易。我对您的架构进行了一些更改以利用auto_increment 在这里,我在emp_leave_daywise表上添加了唯一约束,因为id整数上的主键不能确保记录不重复。 em