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

在R中如何按国家和年份分组取最大值并修正统计错误

问题原因

你的代码错误点在于summarise计算时使用了dataset$Trial,该写法会直接读取整个原始数据集的Trial列,计算全局最大值,不会遵循group_by的分组规则,因此所有分组的返回结果都是整个数据集的Trial最大值1。

修正方案

去掉列名前的数据集前缀dataset$,dplyr会自动取当前分组内的Trial列做计算,修正后的代码如下:

dataset %>% 
  group_by(country, Year) %>% 
  summarise(
    presenceofTrial = max(Trial),
    .groups = "drop"
  )

其中.groups = "drop"为可选参数,作用是聚合完成后自动解除分组,避免后续操作受残留分组影响。执行上述代码即可得到你预期的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:15:07