mutate_if () с условиями ИЛИ dplyr - PullRequest
0 голосов
/ 28 декабря 2018

Если я хочу преобразовать переменные integer или double в переменные character, как я могу выполнить задачу, я попробовал приведенный ниже код, но я уверен, что это неправильный способ.

storms %>% mutate_if(c(is.integer | is.double),
                     .funs = as.character)

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Мы можем сделать это с base R

storms[] <- lapply(storms, function(x) if(is.numeric(x)) as.character(x) else x)

или используя data.table

library(data.table)
setDT(storms)[, names(storms) := lapply(.SD, function(x) 
        if(is.numeric(x)) as.character(x) else x)]
0 голосов
/ 28 декабря 2018

Вы можете использовать эту версию mutate_if

library(dplyr)
storms %>% mutate_if(~ is.double(.) | is.integer(.), as.character)

, которая будет преобразовывать двойные или целые столбцы в символ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...