问题描述
这是我的玩具数据和代码。如何在不丢失原始变量的情况下离散化数字变量?
library(gapminder); library(tidyverse); library(tidymodels)
gapminder %>%
recipe(lifeExp ~ .) %>%
step_discretize(all_numeric(),-all_outcomes(),options = list(cuts = 10)) %>%
prep() %>%
juice()
在上面的代码中,我将pop和gdpPercap中的原始值替换为各自的离散化版本,然后将它们释放。如何同时保留原始数值和离散变量?
第二,不是bin02,bin02,而是一种获取[0-100],[101-150]等垃圾箱的方法,所以我知道哪个垃圾箱具有什么值?
解决方法
不确定如何使用step_discretize并再次left_joining数据来执行此操作,但是arules包中有一个离散函数,该函数使用值来渲染箱。这是对我有用的。
gapminder %>%
mutate(across(where(is.numeric),~arules::discretize(x = .x,method = "interval",breaks = 10),.names = "bin_{col}"))
以防万一,您知道如何在食谱中做到这一点,请告诉我。