我通过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发布于 2016-06-24 18:40:40
在@Gregor的注释中,不可能在sql数据库上使用dplyr中的自定义函数。只能使用定义这里的函数。
所以我的选择是:
(1)将数据读入R并使用自定义R函数在那里操作,或(2)用SQL重写自定义函数并在数据库中定义它们
我可以使用dplyr collect命令将数据读入R中。
https://stackoverflow.com/questions/37933109
复制相似问题