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

R Studio二元运算符非数值参数报错及点赞点踩比值计算问题

问题解决:计算各分类点赞/点踩比值的代码修正

错误原因分析

你的代码最后两行逻辑完全错误:

  • 不该用原始数据框vedio5管道到round函数,round的参数用法不符合要求
  • likedf和dikedf是两个独立的汇总数据框,直接相除会因结构不匹配(比如行顺序、列对齐问题)触发"非数值参数"错误

修正方案

方案1:基于你现有代码合并计算

先合并两个汇总数据框,再计算比值:

# 合并按category汇总后的点赞和点踩数据
merged_df <- merge(likedf, dikedf, by = "category")
# 计算比值并取整
ratiodf <- merged_df %>%
  mutate(like_dislike_ratio = round(likes / dislikes))

方案2:一步完成汇总与比值计算(更高效推荐)

直接在分组汇总时同时计算总和与比值,避免拆分数据框的麻烦:

ratiodf <- vedio5 %>%
  group_by(category) %>%
  summarise(
    total_likes = sum(likes),
    total_dislikes = sum(dislikes),
    # 计算比值并取整,同时处理点踩数为0的情况(避免除以0报错)
    like_dislike_ratio = ifelse(total_dislikes == 0, NA, round(total_likes / total_dislikes))
  )

额外注意事项

  • 如果likes或dislikes列不是数值型,在sum里强制转换:sum(as.numeric(likes)),若转换失败需先清理列中的非数值字符(比如用na.omit或替换异常值)
  • 处理点踩数为0的场景,用ifelse赋值为NA或其他标记,避免触发除以0的错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 17:17:10