Watson Studio меняет несколько типов столбцов на один и тот же тип в Refine - PullRequest
0 голосов
/ 19 февраля 2019

Я загружаю файл в watson studio с 152 столбцами, и у меня проблема в том, что по умолчанию он принимает тип string.Есть ли способ изменить несколько столбцов одновременно?Я знаю, что могу сделать это столбец за столбцом, но 150 столбцов - это слишком много.

Я пытался "mutate_all(~ ifelse(is.na(as.double(.x)),.x,as.double(.x)))"

. Это работает в режиме предварительного просмотра, но не удается, когда я запускаю поток со следующей ошибкой:

19 Feb 2019-20:15:25+0100: Job execution started
 19 Feb 2019-20:15:32+0100: Error in ifelse(is.na(as.double(.x)), .x, as.double(.x)): object 'COLUMN1' not found
 19 Feb 2019-20:15:32+0100: Job execution ended

1 Ответ

0 голосов
/ 21 февраля 2019

Если вам нужно сделать для всех строковых столбцов, пожалуйста, используйте mutate_if вместо mutate_all ()

mutate_if(is.character,as.double)

Это должно изменить все типы строк на double.

Такесли вы не хотите конвертировать какой-либо конкретный столбец, вам нужно будет сделать что-то вроде этого, -matches () выведет список всех столбцов, отличных от указанного, и применяет двойное преобразование только к этим столбцам.

mutate_at(vars(-matches("columnname")),funs(as.double(.)))
...