R tidymodels烘焙:错误:请将数据集传递给“新建数据”`

R tidymodels烘焙:错误:请将数据集传递给“新建数据”`,r,tidymodels,r-recipes,R,Tidymodels,R Recipes,我正在使用tidymodels包中的recipe()函数来插补缺失值和修复不平衡数据 这是我的数据 mer_df <- mer2 %>% filter(!is.na(laststagestatus2)) %>% select(Id, Age_Range__c, Gender__c, numberoflead, leadduration, firsttouch, lasttouch, laststagestatus2)%>% mutate_if(is.char

我正在使用
tidymodels
包中的
recipe()
函数来插补缺失值和修复不平衡数据

这是我的数据

mer_df <- mer2 %>%
  filter(!is.na(laststagestatus2)) %>% 
  select(Id, Age_Range__c, Gender__c, numberoflead, leadduration, firsttouch, lasttouch, laststagestatus2)%>%
  mutate_if(is.character, factor) %>%
  mutate_if(is.logical, as.integer)


# A tibble: 197,836 x 8
   Id    Age_Range__c Gender__c numberoflead leadduration firsttouch lasttouch
   <fct> <fct>        <fct>            <int>        <dbl> <fct>      <fct>    
 1 0010~ NA           NA                   2     5.99     Dealer IB~ Walk in  
 2 0010~ NA           NA                   1     0        Online Se~ Online S~
 3 0010~ NA           NA                   1     0        Walk in    Walk in  
 4 0010~ NA           NA                   1     0        Online Se~ Online S~
 5 0010~ NA           NA                   2     0.0128   Dealer IB~ Dealer I~
 6 0010~ NA           NA                   1     0        OB Call    OB Call  
 7 0010~ NA           NA                   1     0        Dealer IB~ Dealer I~
 8 0010~ NA           NA                   4    73.9      Dealer IB~ Walk in  
 9 0010~ NA           Male                24     0.000208 OB Call    OB Call  
10 0010~ NA           NA                  18     0.000150 OB Call    OB Call  
# ... with 197,826 more rows, and 1 more variable: laststagestatus2 <fct>
但当ı运行
bake()
函数时,给出错误提示

mer_rec %>% prep() %>% bake(new_data=NULL) %>% count(laststagestatus2)
Error: Please pass a data set to `new_data`.

有谁能帮我解释一下我在这里遗漏了什么吗?

配方的开发版本中有一个修复程序,可以让它正常工作。您可以通过以下方式安装:

devtools::install\u github(“tidymodels/recipes”)
然后,您可以使用
new_data=NULL
bake()
获取转换后的训练数据

库(tidymodels)
数据(ames)
艾姆斯%
步长(纬度、经度、自由度=20)
ames\u rec%%>%prep()%%>%bake(新数据=NULL)
#>#A tible:2199 x 71
#>Gr_Liv_地区年份建筑销售价格社区公司…社区公司…
#>                                              
#>  1        3.22       1960       5.33                0                0
#>  2        2.95       1961       5.02                0                0
#>  3        3.12       1958       5.24                0                0
#>  4        3.21       1997       5.28                0                0
#>  5        3.21       1998       5.29                0                0
#>  6        3.13       2001       5.33                0                0
#>  7        3.11       1992       5.28                0                0
#>  8        3.21       1995       5.37                0                0
#>  9        3.22       1993       5.25                0                0
#> 10        3.17       1998       5.26                0                0
#>#…增加2189行,增加66个变量:Neighborhood_Edwards,
#>#Somerset社区#Northridge高地社区#,
#>#邻居#吉尔伯特,邻居#索耶,
#>#社区(西北)艾姆斯(Ames)社区(Sawyer)西部),
#>#邻居#米切尔,邻居#布鲁克塞德,
#>#Crawford社区、Iowa DOT社区和Rail Road社区,
#>#Timberland社区#Northridge社区#,
#>#附近的#u Stone#u Brook,
#>爱荷华州立大学的社区南部和西部,
#>#社区(Clear)溪、社区(Meadow)村、,
#>#邻里(其他),楼宇(类型)双工(控制),楼宇(类型)双工,,
#>#建筑物类型(Twnhs),建筑物类型(TwnhsE),,
#>#Gr#U Liv#U Area#x#U BLIDG#U Type#U TwoFmCon,
#>#Gr#U Liv#U Area_x_Bldg_Type#U复式、Gr#U Liv#U Area_x_Bldg_Type#U Twnhs、,
#>格鲁生活区建筑类型,纬度01,
#>纬度02,纬度03,纬度04,
#>纬度05,纬度06,纬度07,
#>纬度08,纬度09,纬度10,
#>纬度11,纬度12,纬度13,
#>纬度14,纬度15,纬度16,
#>纬度17,纬度18,纬度19,
#>纬度20,经度01,经度02,
#>经度03,经度04,经度05,
#>经度06,经度07,经度08,
#>经度09,经度10,经度11,
#>经度12,经度13,经度14,
#>经度15,经度16,经度17,
#>经度18,经度19,经度20
由(v0.3.0.9001)于2020年10月12日创建


如果您无法从GitHub安装软件包,您可以。

recipes的开发版本中有一个修复程序,可以让它正常工作。您可以通过以下方式安装:

devtools::install\u github(“tidymodels/recipes”)
然后,您可以使用
new_data=NULL
bake()
获取转换后的训练数据

库(tidymodels)
数据(ames)
艾姆斯%
步长(纬度、经度、自由度=20)
ames\u rec%%>%prep()%%>%bake(新数据=NULL)
#>#A tible:2199 x 71
#>Gr_Liv_地区年份建筑销售价格社区公司…社区公司…
#>                                              
#>  1        3.22       1960       5.33                0                0
#>  2        2.95       1961       5.02                0                0
#>  3        3.12       1958       5.24                0                0
#>  4        3.21       1997       5.28                0                0
#>  5        3.21       1998       5.29                0                0
#>  6        3.13       2001       5.33                0                0
#>  7        3.11       1992       5.28                0                0
#>  8        3.21       1995       5.37                0                0
#>  9        3.22       1993       5.25                0                0
#> 10        3.17       1998       5.26                0                0
#>#…增加2189行,增加66个变量:Neighborhood_Edwards,
#>#Somerset社区#Northridge高地社区#,
#>#邻居#吉尔伯特,邻居#索耶,
#>#社区(西北)艾姆斯(Ames)社区(Sawyer)西部),
#>#邻居#米切尔,邻居#布鲁克塞德,
#>#Crawford社区、Iowa DOT社区和Rail Road社区,
#>#Timberland社区#Northridge社区#,
#>#附近的#u Stone#u Brook,
#>爱荷华州立大学的社区南部和西部,
#>#社区(Clear)溪、社区(Meadow)村、,
#>#邻里(其他),楼宇(类型)双工(控制),楼宇(类型)双工,,
#>#建筑物类型(Twnhs),建筑物类型(TwnhsE),,
#>#Gr#U Liv#U Area#x#U BLIDG#U Type#U TwoFmCon,
#>#Gr#U Liv#U Area_x_Bldg_Type#U复式、Gr#U Liv#U Area_x_Bldg_Type#U Twnhs、,
#>格鲁生活区建筑类型,纬度01,
#>纬度02,纬度03,纬度04,
#>纬度05,纬度06,纬度07,
#>纬度08,纬度09,纬度10,
#>纬度11,纬度12,纬度13,
#>纬度14,纬度15,纬度16,
#>纬度17,纬度18,纬度n
Data Recipe

Inputs:

      role #variables
   outcome          1
 predictor          7

Training data contained 148377 data points and 147597 incomplete rows. 

    Operations:
    
    Median Imputation for 2 items [trained]
    K-nearest neighbor imputation for Id, ... [trained]
    Collapsing factor levels for Id, firsttouch [trained]
    Collapsing factor levels for Id, lasttouch [trained]
    Dummy variables from Id, ... [trained]
    SMOTE based on laststagestatus2 [trained]
mer_rec %>% prep() %>% bake(new_data=NULL) %>% count(laststagestatus2)
Error: Please pass a data set to `new_data`.