我有一个通过dplyr设置的sql表,如下所示:
num gameday_link stand b_height px pz type
1 1 gid_2016_04_05_houmlb_nyamlb_1 R 5-6 0.194 3.225 B
2 1 gid_2016_04_05_houmlb_nyamlb_1 R 5-6 0.510 1.965 S
3 1 gid_2016_04_05_houmlb_nyamlb_1 R 5-6 -1.367 2.459 B
我想做的是添加一个称为“正确”的附加列,该列保存名为isCallCorrectV的自定义函数的T或F结果。isCallCorrectV的参数是表中的列。
这是一个运行中的isCallCorrectV的示例:
> isCallCorrectV(c(0.0, 2.5), c(2.5, 0), c("S", "B"), c("6-0", "5-0"), c("R", "L"))
[1] TRUE FALSE
我尝试使用此命令,但出现错误。
dplyr::mutate(noswings, correct = isCallCorrectV(px, pz, type, b_height, stand))
Error in sqliteSendQuery(conn, statement) :
error in statement: no such function: ISCALLCORRECTV
根据@Gregor的评论,不可能在sql数据库的dplyr中使用自定义函数。只能使用此处定义的功能。
所以我的选择是:
(1)将数据读入R并使用自定义R函数在此处进行操作,或者(2)用SQL重写自定义函数并在数据库中定义它们
我可以使用dplyr collect命令将数据读入R。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句