You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按因子水平复制日期列表并生成含因子列的数据框

解决方案

方法1:用tidyverse的dplyr实现

先提取df$Lieu的所有因子水平,再和你的日期数据框做全交叉连接,就能得到每个日期对应所有地点的组合:

# 先加载dplyr(没装的话先运行install.packages("dplyr"))
library(dplyr)

# 把Lieu的因子水平转成单独的数据框
lieu_list <- data.frame(Lieu = levels(df$Lieu))

# 生成日期+地点的全组合数据框
final_df <- cross_join(lst_dates, lieu_list)

方法2:用Base R实现

不用额外装包,直接用expand.grid生成全组合:

# 生成包含所有日期和地点组合的数据框
final_df <- expand.grid(
  Date_nuit = lst_dates$Date_nuit,
  Lieu = levels(df$Lieu),
  stringsAsFactors = FALSE  # 可选,按需决定是否保留因子类型
)

两种方法都能得到你要的结果:每个日期会重复37次,分别对应df$Lieu的每一个因子水平,同时新增Lieu列存储地点名称。

内容的提问来源于stack exchange,提问作者Couis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 02:55:58