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

使用tidyr::fill()填充日期字段空白值遇报错,求解决方法

解决tidyr::fill()处理日期字段时的报错问题

你遇到的报错和fill()是否支持日期类型无关,问题出在错误的调用方式:你把fill()放在了mutate()里面作为赋值函数使用,但fill()本身是一个独立的tidyverse数据处理动词,需要直接在管道中操作数据框的列,不能嵌套在mutate()里。

fill()完全支持Date类型的字段,以下是两种正确的写法:

1. 直接填充原字段

如果不需要保留原字段的缺失值,可以直接对目标列执行填充:

library(dplyr)
library(tidyr)

test <- test %>% 
  fill(inception_date, expiry_date, .direction = "down")

2. 生成新字段保留原数据

如果想保留原始的inception_date和expiry_date列,先复制生成新列再填充:

test <- test %>% 
  mutate(
    new_inception_date = inception_date,
    new_expiry_date = expiry_date
  ) %>% 
  fill(new_inception_date, new_expiry_date, .direction = "down")

执行以上代码后,日期类型的缺失值就能正常向下填充了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 21:06:06