當我嘗試使用索引來提取向量的元素或在歐洲防風草庫的 set_args 函式中呼叫函式時;
library(parsnip)
tree_numbers = c(500, 1000)
boost_tree() %>% set_args(tree_depth = tree_numbers[1])
我面臨這樣的情況,上面代碼的結果是;
Boosted Tree Model Specification (unknown)
Main Arguments:
tree_depth = tree_numbers[1]
tree_numbers[1]該函式沒有呼叫結果為 500 的函式,而是直接將其tree_depth = tree_numbers[1]作為字串。對于具有相同邏輯的任何其他函式的引數,我可以呼叫或提取 500 值。似乎無論在 set_args 中輸入什么,它都會直接作為字串,然后函式對其進行解碼。
得到 500 或 1000 是函式tree_numbers內部向量元素的這種情況的解決方案是什么set_args?
uj5u.com熱心網友回復:
您可以使用 bang bang 運算子拼接引數!!:
library(parsnip)
tree_numbers = c(500, 1000)
boost_tree() %>% set_args(tree_depth = !! tree_numbers[1])
#> Boosted Tree Model Specification (unknown)
#>
#> Main Arguments:
#> tree_depth = 500
#>
#> Computational engine: xgboost
由reprex 包(v2.0.1)于 2021 年 12 月 17 日創建
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/388755.html
