微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

step_BoxCox() 带有负数据

如何解决step_BoxCox() 带有负数据

我的理解是 step_BoxCox() 需要一个严格的正变量。但是,我尝试对具有一些负值的数据应用该步骤,但没有收到错误或警告。输出没有 NA 值。
我不知道出了什么问题,如果我的理解有缺陷,或者我使用了错误的语法或其他什么。

library(recipes)
library(skimr)

# create dummy data
set.seed(123)
n <- 2e3
x1 <- rpois(n,lambda = 5) # has some zero vals
x2 <- rnorm(n) # has some -ve vals
x3 <- x1 + 10 # is strictly positive
y <- x1 + x2
data <- tibble(x1,x2,x3,y)

# a BocCox recipe
rec <- recipe(y ~ .,data = data) %>% 
  step_BoxCox(all_predictors())
rec
#> Data Recipe
#> 
#> Inputs:
#> 
#>       role #variables
#>    outcome          1
#>  predictor          3
#> 
#> Operations:
#> 
#> Box-Cox transformation on all_predictors()

# bake
processed <- rec %>% 
  prep() %>% 
  bake(new_data = NULL)

# check output
summary(data)
#>        x1               x2                  x3              y         
#>  Min.   : 0.000   Min.   :-3.047861   Min.   :10.00   Min.   :-2.048  
#>  1st Qu.: 3.000   1st Qu.:-0.654767   1st Qu.:13.00   1st Qu.: 3.349  
#>  Median : 5.000   Median :-0.007895   Median :15.00   Median : 4.843  
#>  Mean   : 4.981   Mean   : 0.011176   Mean   :14.98   Mean   : 4.993  
#>  3rd Qu.: 6.000   3rd Qu.: 0.688699   3rd Qu.:16.00   3rd Qu.: 6.486  
#>  Max.   :14.000   Max.   : 3.421095   Max.   :24.00   Max.   :15.225
summary(processed)
#>        x1               x2                  x3              y         
#>  Min.   : 0.000   Min.   :-3.047861   Min.   :2.076   Min.   :-2.048  
#>  1st Qu.: 3.000   1st Qu.:-0.654767   1st Qu.:2.285   1st Qu.: 3.349  
#>  Median : 5.000   Median :-0.007895   Median :2.398   Median : 4.843  
#>  Mean   : 4.981   Mean   : 0.011176   Mean   :2.388   Mean   : 4.993  
#>  3rd Qu.: 6.000   3rd Qu.: 0.688699   3rd Qu.:2.448   3rd Qu.: 6.486  
#>  Max.   :14.000   Max.   : 3.421095   Max.   :2.756   Max.   :15.225
sum(is.na(processed$x2))
#> [1] 0
skim(processed)

reprex package (v0.3.0) 于 2021 年 4 月 29 日创建

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?