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

R中不同数据类型数据框按列求和并添加为顶行的实现问题

R数据框新增顶部求和行解决方案

问题原因

原代码仅返回val1、val2的求和结果,是因为val3、val4列被识别为非数值类型(如字符型、因子型),summarize_if(is.numeric, sum)仅会对数值类型的列执行求和运算。

解决步骤

  1. 先校验并转换数值列类型
    运行以下代码查看各列数据类型:
str(mydf)

如果确认val3、val4为非数值类型,先转换为数值型:

library(dplyr)
mydf <- mydf %>%
  mutate(across(c(val3, val4), as.numeric))
  1. 计算汇总行并合并到原数据框
# 生成汇总行
tot <- mydf %>%
  summarize(
    id = "Total",
    name = "",
    across(where(is.numeric), sum, na.rm = TRUE)
  )

# 汇总行放在顶部,合并为最终结果
result <- bind_rows(tot, mydf)

输出验证

最终输出的result结构如下:

id    name val1 val2 val3 val4
Total      3    6   5.4  4.4
1     abc  1    3   2.2  3.1
2     def  2    3   3.2  1.3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:45:03