繁体   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