比较来自不同 data.frame 的日期

红尘

我必须比较来自两个具有共同 ID 的不同 df 的一些日期。让我在这里提供一个有效的例子:

df1
ID MONTH YEAR
1  1     1997
2  7     2004
3  6     2017
4  8     2003
5  11    1990
6  3     1999

df2
ID MONTH YEAR
1  4     2003
1  8     2006
3  12    2000
4  4     2015
5  1     1993
6  1     1991

正如我们所看到的,我们得到了两个数据框,其中有共同的 ID 列,而列 MONTH 和 YEAR 标识了一个精确的日期。现在我必须将 df2 的每一行与 df1 进行比较,并且作为输出让我知道日期是在 df1 中的相同 ID 之前还是之后。这应该是示例输出:

df3
ID STATUS
1  After
1  After
2  None
3  Before
4  After
5  After
6  Before

我希望我解释得很好,

非常感谢,安德里亚。

吉尔伯乌尔维纳

你可以使用as.yearmonfrom zoo 包的组合来做到这一点mergeifelse

library(zoo)
df1$date1  <- as.yearmon(with(df1, paste0(YEAR, "-",MONTH))) #setting date in df1
df2$date2  <- as.yearmon(with(df2, paste0(YEAR, "-",MONTH)))#setting date in df2
tmp <- merge(df1, df2, by="ID", all = TRUE) # combining both data.frames
tmp$STATUS <- ifelse(is.na(tmp$date1)|is.na(tmp$date2), "None",
                     ifelse(tmp$date1 > tmp$date2, "Before", "After")) # doing logical comparison 
df3 <- tmp[, c("ID", "STATUS")] # building desired data.frame
df3
  ID STATUS
1  1  After
2  1  After
3  2   None
4  3 Before
5  4  After
6  5  After
7  6 Before

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

比较来自不同表的列的日期时间值

来自分类Dev

比较来自 DB 的日期

来自分类Dev

根据简单条件组合来自data.table或data.frame的不同行单元格

来自分类Dev

R聚合带日期列的data.frame

来自分类Dev

从data.frame中的日期中删除斜杠

来自分类Dev

将data.frame中的列转换为日期

来自分类Dev

基于时间间隔+或-日期列表的子集data.frame

来自分类Dev

在带日期字段的data.frame上ddply

来自分类Dev

从data.frame中的日期中删除斜杠

来自分类Dev

为什么不选择data.frame的显示日期?

来自分类Dev

按 R 中的日期范围过滤 data.frame

来自分类Dev

来自Data.frame列的公式

来自分类Dev

来自文本的R中的data.frame

来自分类Dev

比较data.frame中的因素

来自分类Dev

如何比较不同的日期值

来自分类Dev

如何比较不同的日期值

来自分类Dev

比较不同月份的日期

来自分类Dev

用来自旧观察的 data.frame 的数据填充 data.frame

来自分类Dev

在 Python 中比较来自 Wikidata api 的日期

来自分类Dev

选择后data.frame中的修改日期变为<NA>

来自分类Dev

通过rbind将行添加到data.frame会导致日期错误

来自分类Dev

从一周的特定日期中选择data.frame行

来自分类Dev

根据data.frame行名中的日期从xts对象中提取值

来自分类Dev

根据固定的日期序列向 data.frame 添加分组列

来自分类Dev

按特定日期访问 data.frame 子集会生成 NA

来自分类Dev

为什么 data.frame 不会将列类型“未知”转换为日期?

来自分类Dev

在 R 中,为什么 [<-.data.frame` 和 `$<-.data.frame` 表现不同?

来自分类Dev

如何比较来自不同对象的两个日期值,设置它们的格式并测试是否相等?

来自分类Dev

来自data.frame的唯一单词列表

Related 相关文章

热门标签

归档