我想为tidymodels
配方包中的各种步骤函数使用带有列名的向量。我的直觉是简单地使用(prep
这里juice
仅用于说明):
library(tidymodels)
library(modeldata)
data(biomass)
remove_vector <- c("oxygen","nitrogen")
test_recipe <- recipe(HHV ~ .,data = biomass) %>%
step_rm(remove_vector)
test_recipe %>%
prep %>%
juice %>%
head
但这会返回警告:
Note: Using an external vector in selections is ambiguous.
i Use `all_of(remove_vector)` instead of `remove_vector` to silence this message.
i See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
This message is displayed once per session.
当然,这让我很担心(我想确保我在编码时不会遇到错误消息),但我仍然得到了我想要的结果。
但是,当我按照错误消息并使用以下内容时all_of
:
test_recipe <- recipe(HHV ~ .,data = biomass) %>%
step_rm(all_of(remove_vector))
test_recipe %>%
prep %>%
juice %>%
head
我收到错误消息:
错误:并非所有函数都允许在阶跃函数选择器中使用(例如
all_of
)。见?选择。
在 中?selections
,我似乎没有找到对我所拥有的确切(看似简单)问题的参考。
有任何想法吗?非常感谢!