我正在尝试将包discretize_rgr
的{{1}}函数(here)应用于数据帧的多个列。
对于单列,它以这种方式为我工作:
funModeling
因此,我正在尝试使用discretize_rgr(input = df.div$to_be_discretized, target = df.div$TARGET, max_n_bins=10)
包以这种方式管理多列:
purrr
但出现以下错误:
顺序错误(fpoints_top):参数1不是向量
怎么了?
更新(示例数据)
df.div %>%
modify_if( is.numeric, ~ discretize_rgr(., target = df.div$TARGET, max_n_bins=10))
答案 0 :(得分:0)
我没有您的数据,所以我只能猜测。但是尝试这样做:
library(tidyverse)
library(funModeling)
iris %>%
modify_if(is.numeric, ~ discretize_rgr(.x, target = as.character(.x), max_n_bins=10))
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 [5.00,5.40) [3.30,3.60) [1.0,1.5) [0.10,0.30) setosa
2 [4.30,5.00) [2.90,3.04) [1.0,1.5) [0.10,0.30) setosa
3 [4.30,5.00) [3.04,3.30) [1.0,1.5) [0.10,0.30) setosa
4 [4.30,5.00) [3.04,3.30) [1.5,3.9) [0.10,0.30) setosa
5 [5.00,5.40) [3.60,4.40] [1.0,1.5) [0.10,0.30) setosa
6 [5.40,5.70) [3.60,4.40] [1.5,3.9) [0.30,1.16) setosa
7 [4.30,5.00) [3.30,3.60) [1.0,1.5) [0.30,1.16) setosa
8 [5.00,5.40) [3.30,3.60) [1.5,3.9) [0.10,0.30) setosa
9 [4.30,5.00) [2.90,3.04) [1.0,1.5) [0.10,0.30) setosa
10 [4.30,5.00) [3.04,3.30) [1.5,3.9) [0.10,0.30) setosa
11 [5.40,5.70) [3.60,4.40] [1.5,3.9) [0.10,0.30) setosa