用日期向量扩展每个独特的组合

我有一个具有独特组合的数据框架。

df <- data.frame(
    d = c("d1", "d2")
    , t = c("t1", "t2")
)

和一个日期的向量。

dates <- seq(as.Date("2016/5/1"), as.Date("2016/7/1"), "months")

我想把每一行的唯一组合都展开来得到这个。

df1 <- expand.grid(d = c("d1"), t = c("t1"), date = dates)
df2 <- expand.grid(d = c("d2"), t = c("t2"), date = dates)
want <- rbind(df1, df2)

想要数据:

   d  t       date
1 d1 t1 2016-05-01
2 d1 t1 2016-06-01
3 d1 t1 2016-07-01
4 d2 t2 2016-05-01
5 d2 t2 2016-06-01
6 d2 t2 2016-07-01

显然这段代码是可行的,但我有更多的独特组合。我可以使用一个循环,但类似于expand.grid的东西,在这种情况下不能工作,将是首选。

combinations <- expand.grid(df, date = dates)

有什么简单的方法可以不用循环就能得到 “want “吗?谢谢。

解决方案:

我们可以用 crossingtidyr

tidyr::crossing(df, dates)

# A tibble: 6 x 3
#   d     t     dates     
#  <fct> <fct> <date>    
#1 d1    t1    2016-05-01
#2 d1    t1    2016-06-01
#3 d1    t1    2016-07-01
#4 d2    t2    2016-05-01
#5 d2    t2    2016-06-01
#6 d2    t2    2016-07-01

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何在R中去掉变量中的括号?

2022-9-9 1:06:24

未分类

用Java搜索excel文档的算法

2022-9-9 1:17:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索