R dbplyr 翻译产生“运算符不存在”错误

问题描述

我正在尝试查询数据库并使用 dbplyr 计算加权平均值。我用 sum*/ 把它写出来,sql 查询似乎是正确的(例如跟随 Calculate weighted average in single query)但是查询没有通过并给我一个错误当我尝试 collect 时。我不知道“添加显式类型转换”是什么意思,也不知道如何使用 dbplyr 做到这一点。

LINE 1: ... TYPE","REGISTRATION TYPE","SEGMENT",SUM("VIO" * "EPA MIL...
                                                             ^
HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.

我还查看了 https://github.com/tidyverse/dbplyr/issues/376 ,其中指出使用 sum 和 * 和 / 应该可以工作,因为 Rweighted.mean 不会被翻译为 {{ 1}}。与 dbplyr 处的更简单示例相比,我看到我的名字都用 " 引用 - 这会导致问题吗?

baby_db %>% summarize(wavg_prop = sum(prop * n) / sum(n))

解决方法

案例已结束-“EPA MILEAGE COMBINED”列是字符串而不是数字”-谢谢@Blue Star