象實(shí)戰(zhàn)指南)
equatiomatic如何提取Tidymodels工作流公式workflows與model_fit對(duì)象實(shí)戰(zhàn)指南【免費(fèi)下載鏈接】equatiomaticConvert models to LaTeX equations項(xiàng)目地址: https://gitcode.com/gh_mirrors/eq/equatiomaticequatiomatic是一個(gè) R 語言包能將任意擬合好的模型對(duì)象一鍵轉(zhuǎn)換為 LaTeX 數(shù)學(xué)公式。它的核心函數(shù)extract_eq()不僅支持lm、glm等傳統(tǒng)模型還兼容Tidymodels生態(tài)中的model_fit與workflow對(duì)象——這意味著用 parsnip 一步擬合、或用 recipes workflows 組合訓(xùn)練的模型都能直接提取出可粘貼進(jìn)論文報(bào)告的回歸方程徹底告別手動(dòng)書寫 LaTeX 的痛苦。 為什么需要公式提取做模型分析時(shí)匯報(bào)環(huán)節(jié)幾乎總是要展示模型方程長什么樣。手工把系數(shù)、希臘字母、變量名逐字敲進(jìn) LaTeX 既慢又容易出錯(cuò)。equatiomatic 的思路是讀入模型對(duì)象 → 解析公式與系數(shù) → 直接輸出渲染好的 LaTeX 代碼一行代碼搞定。上圖展示了 equatiomatic 的基本工作流lm()擬合后調(diào)用extract_eq()立刻得到帶希臘字母系數(shù)的 LaTeX 公式。? 快速上手安裝與最小示例先安裝 equatiomatic若從源碼獲取倉庫地址為https://gitcode.com/gh_mirrors/eq/equatiomaticinstall.packages(equatiomatic) library(equatiomatic) mod1 - lm(mpg ~ cyl disp, data mtcars) extract_eq(mod1)在 R Markdown 中調(diào)用extract_eq()knitr 會(huì)自動(dòng)把公式渲染成真正的數(shù)學(xué)排版想直接看 LaTeX 源碼則用print()包一層。也可以在 RStudio 里用preview_eq()即時(shí)預(yù)覽preview_eq(mod1) 場(chǎng)景一直接提取 model_fit 對(duì)象如果你習(xí)慣用parsnip一步擬合不經(jīng)過 workflow得到的model_fit對(duì)象同樣可以直接喂給extract_eq()。以 cars 數(shù)據(jù)集為例先用 recipes 做樣條變換再擬合線性模型library(recipes) library(parsnip) spline_cars_prepped - recipe(mpg ~ ., data mtcars) | step_ns(disp, deg_free 10) | prep(mtcars) # 用 parsnip 擬合返回 model_fit 對(duì)象 lm_fit - linear_reg() | fit(mpg ~ ., data juice(spline_cars_prepped)) # 直接提取公式wrap TRUE 讓長公式自動(dòng)換行 extract_eq(lm_fit, wrap TRUE)當(dāng)右側(cè)項(xiàng)很多時(shí)換行后的效果如下每行默認(rèn) 4 項(xiàng) 場(chǎng)景二提取 workflows 工作流公式更復(fù)雜的場(chǎng)景是把**數(shù)據(jù)預(yù)處理recipes和模型parsnip**打包進(jìn)一個(gè) workflow用一次fit()完成配方準(zhǔn)備 模型估計(jì)library(workflows) linear_lm - linear_reg() car_wflow - workflow() | add_recipe(spline_cars) | add_model(linear_lm) # 一次 fit 完成預(yù)處理與擬合 wflow_fit - fit(car_wflow, data mtcars) # 從 workflow 擬合結(jié)果中提取公式 extract_eq(wflow_fit, wrap TRUE)equatiomatic 在 R/extract_eq.R 中為model_fit和workflow分別實(shí)現(xiàn)了專門的 S3 方法它會(huì)自動(dòng)剝開嵌套的fit組件找到內(nèi)部真正的模型對(duì)象再走標(biāo)準(zhǔn)的提取流程。 一個(gè)小坑因變量名變成了 ..y經(jīng)過 recipes 預(yù)處理后原始列名可能被重命名公式里因變量會(huì)顯示為..y而不是mpg。用swap_var_names參數(shù)即可手動(dòng)改回extract_eq(wflow_fit, wrap TRUE, swap_var_names c(..y mpg))這個(gè)技巧對(duì)任何被工作流重命名列的情況都適用。 常用參數(shù)速查讓公式更美觀extract_eq()提供了不少排版開關(guān)Tidymodels 場(chǎng)景下最常用的是這幾個(gè)參數(shù)作用示例wrap TRUE長公式按行自動(dòng)換行每行默認(rèn) 4 項(xiàng)terms_per_line每行放幾項(xiàng)terms_per_line 6operator_location放行尾還是行首startital_vars TRUE變量名顯示為斜體更接近教科書風(fēng)格use_coefs TRUE用真實(shí)數(shù)值替代希臘字母適合結(jié)果匯報(bào)開啟ital_vars TRUE后變量名會(huì)以斜體呈現(xiàn)?? 注意事項(xiàng)broom.mixed 與模型兼容性貝葉斯/混合模型需要 broom.mixed如果 parsnip 模型用set_engine(stan)擬合提取前必須library(broom.mixed)否則extract_eq()會(huì)報(bào)錯(cuò)。兼容性取決于 broomequatiomatic 的公式提取底層依賴 broom 系 tidy 接口凡是 broom或 broom.mixed支持的模型類型理論上都能提取不兼容的模型會(huì)給出清晰的錯(cuò)誤提示而不是靜默失敗。批量提取把多個(gè)模型放進(jìn)一個(gè)命名列表再調(diào)用extract_eq()可以一次性得到一組帶名稱的公式方便模型對(duì)比匯報(bào)。 延伸資源官方教程vignettes/tidymodels.Rmd本文的 workflow 示例即改編自該文檔核心實(shí)現(xiàn)R/extract_eq.R 中extract_eq.model_fit與extract_eq.workflow方法想深入了解剝殼邏輯可從這里入手測(cè)試用例tests/testthat/ 目錄下按模型類型lm、glm、lmer 等組織的完整測(cè)試可作為更多模型提取的參考掌握以上內(nèi)容你就能在 Tidymodels 建模流程的最后用一行代碼把模型方程變成漂亮的 LaTeX——寫報(bào)告、做幻燈片的效率會(huì)有質(zhì)的提升 ?【免費(fèi)下載鏈接】equatiomaticConvert models to LaTeX equations項(xiàng)目地址: https://gitcode.com/gh_mirrors/eq/equatiomatic創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考