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

R语言如何重复已有行值填充对应关联行的列缺失值

R实现分组首行值向下填充空行的方法

方案1:使用tidyverse套件(写法最简洁)

首先安装并加载所需包:

install.packages("tidyverse") # 已安装可跳过本步
library(tidyverse)

如果你的left列空值是空字符串而非NA,需要先做一步替换:

df$left[df$left == ""] <- NA

仅需一行代码即可完成填充:

# .direction = "down"指定为向下填充上一个非空值
df <- df %>% fill(left, .direction = "down")

方案2:纯Base R实现(无需额外安装依赖包)

# 替换空字符串为NA
df$left[df$left == ""] <- NA
# 计算索引完成向下填充
valid_pos <- which(!is.na(df$left))
df$left <- df$left[valid_pos[cummax(replace(integer(nrow(df)), valid_pos, seq_along(valid_pos)))]]

以上两种方案均不限制每组的行数,只要你的数据满足「每组第一行left列有值,同组后续行left列为空」的结构,都可以正确完成填充。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:15:04