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

如何在R中将一个数据集的日期与另一数据集的日出日落时间合并

解决方案

提供两种可直接使用的实现思路:

思路1:基于已生成的全量df筛选匹配

仅需通过日期列匹配即可提取对应数据,示例代码如下:

# 加载dplyr包(如果未安装先运行install.packages("dplyr"))
library(dplyr)

# 先统一两个数据集的日期列为标准Date格式,避免格式不一致导致匹配失败
WSW$date <- as.Date(WSW$date)
df$date <- as.Date(df$date)

# 仅提取df中与WSW日期匹配的日出日落数据
target_sun_data <- df %>% 
  filter(date %in% WSW$date)

# 如果需要将日出日落数据合并回WSW原数据集,使用左连接即可
WSW_merged <- WSW %>% 
  left_join(df, by = "date")

注:如果你的WSW数据集里存储日期的列名不是date,请把代码中所有WSW$date的date替换为你实际使用的列名。

思路2:更高效的轻量化实现(推荐)

无需先生成1986-2020年的全量日出日落数据集,直接把WSW中的41个日期传入getSunlightTimes函数即可,节省运行时间和内存占用,示例代码如下:

library(dplyr)

# 处理WSW的日期列为Date格式
WSW$date <- as.Date(WSW$date)

# 直接生成对应41个日期的日出日落数据
target_sun_data <- getSunlightTimes(
    date = WSW$date,
    keep = c("sunrise", "sunriseEnd", "sunset", "sunsetStart"),
    lat = 51.4545,
    lon = 2.5879,
    tz = "UTC"
)

# 合并回原WSW数据集
WSW_merged <- WSW %>% 
  left_join(target_sun_data, by = "date")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 05:06:02