当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R recipes step_ratio 比率变量创建


step_ratio() 创建配方步骤的规范,该步骤将从选定的数值变量创建一个或多个比率。

用法

step_ratio(
  recipe,
  ...,
  role = "predictor",
  trained = FALSE,
  denom = denom_vars(),
  naming = function(numer, denom) {
     make.names(paste(numer, denom, sep = "_o_"))
 },
  columns = NULL,
  keep_original_cols = TRUE,
  skip = FALSE,
  id = rand_id("ratio")
)

denom_vars(...)

参数

recipe

一个菜谱对象。该步骤将添加到此配方的操作序列中。

...

一个或多个选择器函数,用于选择将在比率分子中使用哪些变量。与 denom_vars 一起使用时,点表示分母中使用了哪些变量。有关更多详细信息,请参阅selections()

role

对于此步骤创建的模型项,应为其分配什么分析角色?默认情况下,此步骤根据原始变量创建的新列将用作模型中的预测变量。

trained

指示预处理数量是否已估计的逻辑。

denom

调用 denom_vars 来指定分母中使用哪些变量,分母可以包括由逗号或不同选择器分隔的特定变量名称(请参阅 selections() )。如果某一列同时包含在两个列表中作为分子和分母,则将从列表中删除该列。

naming

定义新比率列的命名约定的函数。

columns

所选变量名称的字符串。该字段是一个占位符,一旦使用 prep() 就会被填充。

keep_original_cols

将原始变量保留在输出中的逻辑。默认为 TRUE

skip

一个合乎逻辑的。当bake() 烘焙食谱时是否应该跳过此步骤?虽然所有操作都是在 prep() 运行时烘焙的,但某些操作可能无法对新数据进行(例如处理结果变量)。使用skip = TRUE时应小心,因为它可能会影响后续操作的计算。

id

该步骤特有的字符串,用于标识它。

recipe 的更新版本,将新步骤添加到任何现有操作的序列中。

整理

当您 tidy() 此步骤时,将返回包含列 terms(选定的选择器或变量)和 denom 的 tibble。

箱重

底层操作不允许使用案例权重。

例子

library(recipes)
data(biomass, package = "modeldata")

biomass$total <- apply(biomass[, 3:7], 1, sum)
biomass_tr <- biomass[biomass$dataset == "Training", ]
biomass_te <- biomass[biomass$dataset == "Testing", ]

rec <- recipe(HHV ~ carbon + hydrogen + oxygen + nitrogen +
  sulfur + total,
data = biomass_tr
)

ratio_recipe <- rec %>%
  # all predictors over total
  step_ratio(all_numeric_predictors(), denom = denom_vars(total),
             keep_original_cols = FALSE)

ratio_recipe <- prep(ratio_recipe, training = biomass_tr)

ratio_data <- bake(ratio_recipe, biomass_te)
ratio_data
#> # A tibble: 80 × 6
#>      HHV carbon_o_total hydrogen_o_total oxygen_o_total nitrogen_o_total
#>    <dbl>          <dbl>            <dbl>          <dbl>            <dbl>
#>  1  18.3          0.465           0.0568          0.473          0.00301
#>  2  17.6          0.432           0.055           0.481          0.0285 
#>  3  17.2          0.427           0.055           0.491          0.024  
#>  4  18.9          0.504           0.0662          0.405          0.0195 
#>  5  20.5          0.497           0.0645          0.436          0.00204
#>  6  18.5          0.479           0.0595          0.451          0.00758
#>  7  15.1          0.389           0.0523          0.541          0.0119 
#>  8  16.2          0.515           0.0570          0.414          0.0116 
#>  9  11.1          0.419           0.0631          0.446          0.00201
#> 10  10.8          0.456           0.0619          0.389          0.0760 
#> # ℹ 70 more rows
#> # ℹ 1 more variable: sulfur_o_total <dbl>
源代码:R/ratio.R

相关用法


注:本文由纯净天空筛选整理自Max Kuhn等大神的英文原创作品 Ratio Variable Creation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。