dplyr 1.0.0 之 select、rename、relo
select_rename_relocate
qliu
2020/6/4
加载包
library(tidyverse, warn.conflicts = F)
select() 和 rename()
• 按照位置:
– df %>% select(1, 5, 10)
– df %>% select(1:4)
• 按照名字:
– df %>% select(a, e, j)
– df %>% select(c(a, e, j))
– df %>% select(a:d)
• 按照函数选择:
– df %>% select(starts_with("x"))
– df %>% select(ends_with("s"))
– 也可以通过与 contains() 和 matches() 函数连用
• 按照数据类型:
– df %>% select(where(is.numeric))
– df %>% select(where(is.factor))
• 通过布尔操作符 &|! 进行多个组合
– df %>% select(!where(is.factor))
– df %>% select(where(is.numeric) & starts_with("x"))
– df %>% select(starts_with("a") | ends_with("z"))
rename()
• 直接修改:
– df1 %>% rename(b = 2);b 表示修改后的列名,2 表示第二列
• 按照函数:
– df2 %>% rename_with(toupper)
– df2 %>% rename_with(toupper, starts_with("x"))
– df2 %>% rename_with(toupper, where(is.numeric))
relocate()
• df3 %>% relocate(y, z);将 yz 列移到最前面
• df3 %>% relocate(where(is.character));将字符串类型列都放到最前面
• df3 %>% relocate(w, .after = y);将 w 列移动到 y 列后面
• df3 %>% relocate(w, .before = y);将 w 列移动到 y 列前面
• df3 %>% relocate(w, .after = last_col());将 w 列移至最后面