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

如何在tibble中添加包含前3行均值的新行?

解决方案

要实现仅基于最后3行数据计算均值并追加新行,你可以调整代码中均值的计算范围,或者用更直观的行拼接方式:

方法一:直接构造新行并拼接(推荐)

这种方式逻辑更清晰,便于理解和维护:

# 构造包含最后3行均值的新行
new_row <- fdata %>%
  ungroup() %>%
  slice_tail(n = 3) %>%  # 筛选最后3行数据
  summarise(
    cyc = "plateau",
    across(where(is.numeric), mean)  # 计算这3行各数值列的均值
  )

# 将原数据与新行合并
fdata <- bind_rows(fdata, new_row)

方法二:调整原reframe写法

如果你想沿用原代码的结构,只需把全列均值的计算逻辑替换为仅取最后3行的均值:

fdata <- fdata %>%
  ungroup() %>%
  reframe(
    cyc = c(cyc, 'plateau'),
    across(where(is.numeric), ~c(., mean(tail(., 3))))
  )

关键说明

  • tail(., 3)用于提取当前列的最后3行数据,确保均值仅基于最近的3条记录计算
  • 若原数据行数不足3行,tail(.,3)会自动取所有现有行,均值计算仍能正常运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:22:04