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

R语言按组计算行数:胜率计算分母获取失败问题排查

问题解决方法

你用nrow(favorite_win)算分母没结果的原因是:nrow()是用来统计数据框的行数的,而favorite_win是单个列(向量),对向量调用nrow()会返回NULL,自然得不到有效数值。

修正分母计算的两种方式

  • 用dplyr内置的n()函数,它在分组环境下会直接返回当前组的行数:
games_by_spread <- df %>% 
  group_by(spread_favorite) %>% 
  summarise(games = n())
  • 或者用length(favorite_win),因为每个分组里的favorite_win向量长度就是该组的总比赛数:
games_by_spread <- df %>% 
  group_by(spread_favorite) %>% 
  summarise(games = length(favorite_win))

更高效的一步计算胜率

没必要分开计算胜场和总场次,直接在一个管道里完成所有计算:

win_percentage_by_spread <- df %>% 
  group_by(spread_favorite) %>% 
  summarise(
    wins = sum(favorite_win),
    total_games = n(),
    win_percentage = wins / total_games
  )

这样直接得到每个spread_favorite分组的胜场数、总场次和胜率,一步到位更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:05:39