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


R recipes step_shuffle 随机排列变量


step_shuffle() 创建配方步骤的规范,该步骤将随机更改所选变量的行顺序。

用法

step_shuffle(
  recipe,
  ...,
  role = NA,
  trained = FALSE,
  columns = NULL,
  skip = FALSE,
  id = rand_id("shuffle")
)

参数

recipe

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

...

一个或多个选择器函数用于为此步骤选择变量。有关更多详细信息,请参阅selections()

role

由于没有创建新变量,因此此步骤未使用。

trained

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

columns

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

skip

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

id

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

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

整理

当您tidy()此步骤时,将返回带有列terms(将被排列的列)的tibble。

箱重

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

也可以看看

其他行操作步骤:step_arrange()step_filter()step_impute_roll()step_lag()step_naomit()step_sample()step_slice()

例子

integers <- data.frame(A = 1:12, B = 13:24, C = 25:36)

library(dplyr)
rec <- recipe(~ A + B + C, data = integers) %>%
  step_shuffle(A, B)

rand_set <- prep(rec, training = integers)

set.seed(5377)
bake(rand_set, integers)
#> # A tibble: 12 × 3
#>        A     B     C
#>    <int> <int> <int>
#>  1     5    13    25
#>  2     4    24    26
#>  3     9    23    27
#>  4     1    18    28
#>  5    11    14    29
#>  6    10    21    30
#>  7     6    19    31
#>  8     3    22    32
#>  9    12    16    33
#> 10     7    15    34
#> 11     2    17    35
#> 12     8    20    36

tidy(rec, number = 1)
#> # A tibble: 2 × 2
#>   terms id           
#>   <chr> <chr>        
#> 1 A     shuffle_j0rp7
#> 2 B     shuffle_j0rp7
tidy(rand_set, number = 1)
#> # A tibble: 2 × 2
#>   terms id           
#>   <chr> <chr>        
#> 1 A     shuffle_j0rp7
#> 2 B     shuffle_j0rp7
源代码:R/shuffle.R

相关用法


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