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

如何为列表中的每个数据框添加百分比列?

解决方案

你可以用lapply遍历列表l2中的每个数据框,基于Freq列计算百分比并添加为新列:

带小数保留的版本(推荐)

# 给每个数据框添加百分比列,保留两位小数
l2_with_pct <- lapply(l2, function(df) {
  df$Percentage <- round((df$Freq / sum(df$Freq)) * 100, 2)
  df
})

不保留小数的版本

l2_with_pct <- lapply(l2, function(df) {
  df$Percentage <- (df$Freq / sum(df$Freq)) * 100
  df
})

效果验证(以你的示例数据为例)

运行代码后,l2_with_pct中的每个数据框会新增Percentage列:

  • 对应变量x的数据框:
    x Freq Percentage
    1 0    3       42.86
    2 1    4       57.14
    
  • 对应变量y的数据框:
    y Freq Percentage
    1 2    5       71.43
    2 3    2       28.57
    

这种方法可以自动处理列表中的所有数据框,哪怕你有900个变量也能适用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 09:50:32