簡體   English   中英

mutate_at() 或 map_dfr(),一次更改多個列

[英]mutate_at() or map_dfr(), changing multiple columns at once

我有一個 dataframe 看起來像

df <- data.frame(id = c('id_1','id_2', 'id_3'), 
                 m_1 = c(1,2,3), 
                 m_2 = c(2,3,5), 
                 m_3 = c(2,6,4))
change = function(x){ 
 if(x == 2){
  tmp = 'great'
  }else{
  tmp ='bad'
  } 
  return(tmp)
}

我想在 m_1、m_2 和 m_3 上應用更改 function ,而不必一遍又一遍地重復 function。

先感謝您!

這是你想要的?

df %>%
  mutate(across(starts_with("m_"),
                ~ifelse(. == 2, "great", "bad")))

    id   m_1   m_2   m_3
1 id_1   bad great great
2 id_2 great   bad   bad
3 id_3   bad   bad   bad

暫無
暫無

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

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