如果我要将integer
或double
变量转换为character
变量,
我如何完成任务,我尝试了以下代码,但是我确信这是错误的方法。
storms %>% mutate_if(c(is.integer | is.double),
.funs = as.character)
答案 0 :(得分:5)
您可以使用此版本的mutate_if
library(dplyr)
storms %>% mutate_if(~ is.double(.) | is.integer(.), as.character)
它将双精度或整数列转换为字符。
答案 1 :(得分:1)
我们可以使用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)]