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

在R中创建动画绘图时unique()函数报错问题求助

解决ggplot动态GIF绘图的函数应用错误问题

嘿,这个错误其实是循环语法写错啦!你在for循环里把unique(Complete_RD_ClaimData$ReportSubmitted)后面直接跟了(Complete_RD_ClaimData$ReportSubmitted == i),这相当于把unique()返回的日期向量当成函数来调用了,R肯定会报错说“尝试应用非函数”。

下面是修正后的完整代码,同时我也调整了绘图逻辑,让它更贴合你“查看ReportFee分布密度”的需求:

saveGIF({
  # 遍历每个唯一的ReportSubmitted日期
  for(i in unique(Complete_RD_ClaimData$ReportSubmitted)){
    # 筛选对应日期的数据
    data <- subset(Complete_RD_ClaimData, ReportSubmitted == i)
    # 绘制密度分布图,用geom_density更符合你的需求
    p <- ggplot(data = data, aes(x = ReportFee, fill = Auditor)) +
      geom_density(alpha = 0.7) + # alpha参数让不同Auditor的密度层更清晰
      coord_flip() +
      ggtitle(paste("Report Fee Distribution -", i)) # 标题加上日期更直观
    print(p)
  }
}, movie.name = "reportfee.gif", interval = 0.1)

额外说明:

  • 原代码里的geom_point()搭配y = n()其实没法展示密度分布,换成geom_density()才是正确的选择。
  • 如果你更想展示不同Auditor的ReportFee计数分布,可以把绘图部分换成直方图:
p <- ggplot(data = data, aes(x = ReportFee, fill = Auditor)) +
  geom_histogram(binwidth = 50, alpha = 0.7) + # 根据你的数据调整binwidth的大小
  coord_flip() +
  ggtitle(paste("Report Fee Count -", i))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:49:11