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

如何将R dataframe隔行(奇数行)数值填充至所有行或切换至偶数行

R语言DataFrame隔行值填充/切换存储规则方案

1. 全列填充现有值

你当前的数据work列仅偶数行有有效值,奇数行为空字符串,以下两种方案都可以实现全列填充:

tidyverse方案(代码简洁易读)

# 未安装tidyverse先执行:install.packages("tidyverse")
library(tidyverse)

output <- output %>%
  # 将空字符串转为NA方便填充
  mutate(work = na_if(work, "")) %>%
  # 向下填充所有空值,默认用上方最近的非空值覆盖
  fill(work, .direction = "down")

# 若第一行也需要填充(原第一行为空无上方值),可改为双向填充:
# fill(work, .direction = "updown")

基础R方案(无需额外依赖)

# 提取偶数行的所有有效值
valid_vals <- output$work[seq(2, nrow(output), 2)]
# 每个有效值重复2次,匹配全列行数
output$work <- rep(valid_vals, each = 2, length.out = nrow(output))

2. 切换存储规则(替代方案)

如果你需要将有效值改为仅奇数行存储、偶数行无值,可使用以下代码:

valid_vals <- output$work[seq(2, nrow(output), 2)]
# 先清空整列
output$work <- ""
# 把有效值赋值给奇数行
output$work[seq(1, nrow(output), 2)] <- valid_vals

如果你需要保持偶数行存储的原始状态,不需要额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:15:04