簡體   English   中英

mutate_if() 多個條件

[英]mutate_if() multiple conditions

mpg |>
  dplyr::mutate_if(is.character, as.factor) |>
  dplyr::mutate_if(is.logical, as.factor) |>
  dplyr::mutate_if(is.integer, as.numeric)

我有上面的代碼。 有沒有更簡單的方法來編寫這段代碼而無需調用mutate_if三次?

如果您查看mutate_if文檔,它已被 cross across()取代。

所以上面的代碼可以寫成:

library(dplyr)

mpg %>% 
  mutate(across(where(is.character) | where(is.logical), as.factor),
         across(where(is.integer), as.numeric))

暫無
暫無

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

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