我正在嘗試在自定義函數中運行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