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

如何用R将两列求和并保存为新列?结果格式不符求助

在R中给数据框添加两列求和新列的方法

常用实现方式

基础R写法

  • 直接给数据框新增列(最直观)
    # 直接把求和结果存入原数据框的新列
    Sweden$Sweden.pyall <- Sweden$py.men + Sweden$py.women
    
  • 用transform()函数批量生成新列
    Sweden <- transform(Sweden, Sweden.pyall = py.men + py.women)
    

tidyverse工具链(推荐,代码更简洁易维护)

用dplyr包的mutate()函数,适合多步骤数据处理:

library(dplyr)
Sweden <- Sweden %>%
  mutate(Sweden.pyall = py.men + py.women)

解决你的结果显示问题

你当前的代码Sweden_py.all <- (Sweden$py.men + Sweden$py.women)其实已经生成了一个数值向量,但你需要把它嵌入到原数据框中作为新列,而不是单独存成一个变量。单独存储时,部分查看工具可能会把向量显示成一行,但它本质是按顺序排列的数值集合。

按上面的正确写法赋值后,查看Sweden数据框时,Sweden.pyall就会是和其他列一样的竖排结构。

另外排查下可能的异常情况:

  • 确认py.men和py.women是数值型向量:用class(Sweden$py.men)检查,如果是列表类型,先转成数值:
    Sweden$py.men <- as.numeric(unlist(Sweden$py.men))
    Sweden$py.women <- as.numeric(unlist(Sweden$py.women))
    

转完再执行求和赋值,就能得到正常的竖排列了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 11:05:18