簡體   English   中英

帶有OR條件dplyr的mutate_if()

[英]mutate_if() with OR conditions dplyr

如果要將integerdouble變量轉換為character變量,如何完成任務,請嘗試以下代碼,但是我確定這是錯誤的方法。

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

您可以使用此版本的mutate_if

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

它將雙精度或整數列轉換為字符。

我們可以使用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)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM