我正在尝试在自定义函数中运行t检验,并且正在运行到一个静态错误应用程序(我相信)。任何帮助将不胜感激。在自定义函数中使用公式调用公式
library(tidyverse)
tp_pull <- function(mydata, dv, iv){
dv <- enquo(dv)
iv <- enquo(iv)
t.test(!!dv ~ !!iv, mydata)
}
tp_pull(mydata = mtcars, dv = mpg, iv = vs)
我的错误消息读取:
numerical expression has 2 elements: only the first usedNAs introduced by
coercion
Show Traceback
Error in quo_name(dv):~!(!iv) : NA/NaN argument
对于上下文此t-检验将是一个较大的自定义功能的一部分。
替换参数通常使用'substitute'完成。例如'tp_pull < - 函数(mydata,dv,iv)t.test(公式(替代(dv〜iv)),mydata)' –
@ G.Grothendieck您的重写比我的要好,所以我更新了我的答案。希望没关系。 – MrFlick