Предположим, я хочу использовать ft_max_abs_scaler
для каждого столбца набора данных.Вот что в документации:
sc <- spark_connect(master = "local")
iris_tbl <- sdf_copy_to(sc, iris, name = "iris_tbl", overwrite = TRUE)
features <- c("Sepal_Length", "Sepal_Width", "Petal_Length", "Petal_Width")
iris_tbl <- iris_tbl %>%
ft_vector_assembler(input_col = features,
output_col = "features_temp") %>%
ft_max_abs_scaler(input_col = "features_temp",
output_col = "features")
Обратите внимание, что ft_vector_assembler
создает новый столбец features_temp
, а ft_max_abs_scaler
создает еще один новый столбец features
.Теперь предположим, что я хочу разбить вектор на отдельные столбцы, я должен сделать это:
iris_tbl <- iris_tbl %>% sdf_separate_column("features", into = features)
# result in error because column name cannot be the same
Поскольку нет хорошего способа удаления столбцов, мне интересно, есть ли лучший способ сделать преобразования объектовс Sparklyr, не создавая новые столбцы.