使用或条件dplyr对_if()进行变异

使用或条件dplyr对_if()进行变异,r,dplyr,R,Dplyr,如果要将整数或双变量转换为字符变量, 如何完成任务,我尝试了下面的代码,但我确信这是一种不正确的方法 storms %>% mutate_if(c(is.integer | is.double), .funs = as.character) 如果需要,可以使用此版本的mutate_ 将双精度或整数列转换为字符。如果需要,可以使用此版本的mutate\u 这会将双精度或整数列转换为字符。我们可以用base R实现这一点 我们可以用base R做这个

如果要将整数或双变量转换为字符变量, 如何完成任务,我尝试了下面的代码,但我确信这是一种不正确的方法

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

如果需要,可以使用此版本的mutate_


将双精度或整数列转换为字符。

如果需要,可以使用此版本的mutate\u

这会将双精度或整数列转换为字符。

我们可以用base R实现这一点

我们可以用base R做这个


您可以使用自定义函数作为谓词,例如对于这些条件之一返回true的函数。除此之外,您可能还需要一个谓词,您可以使用一个自定义函数作为谓词,例如对于这些条件之一返回true的函数。除此之外,你可能还需要一个
library(dplyr)
storms %>% mutate_if(~ is.double(.) | is.integer(.), as.character)
storms[] <- lapply(storms, function(x) if(is.numeric(x)) as.character(x) else x)
library(data.table)
setDT(storms)[, names(storms) := lapply(.SD, function(x) 
        if(is.numeric(x)) as.character(x) else x)]