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

在R语言中补全汇总后数据框的缺失行

补全排序数据框中缺失的中间行

方法一:使用tidyverse工具链(推荐)

借助dplyr和tidyr包的组合可快速实现需求,代码简洁直观:

library(tidyverse)

df_want <- df_have %>%
  # 生成rank的完整连续序列,插入缺失的rank行
  complete(rank = full_seq(rank, 1)) %>%
  # 上下双向填充缺失的count值,继承前后相同的count组
  fill(count, .direction = "downup")

方法二:Base R原生实现(无需额外包)

如果不想加载第三方包,可使用approx函数的常量插值特性完成填充:

# 生成完整的rank连续序列
full_rank <- seq(min(df_have$rank), max(df_have$rank), 1)

# 匹配填充对应count值
df_want <- data.frame(
  rank = full_rank,
  count = approx(df_have$rank, df_have$count, xout = full_rank, method = "constant")$y
)

两种方法运行后得到的df_want均与你给出的目标结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 16:24:58