其他
2行代码重命名上百个列名!
2行代码重命名数百个变量名!
主要是使用了tidyverse
里面一个不常用的函数和技巧。
library(tidyverse)
## -- Attaching packages ----------------------------- tidyverse 1.3.1 --
## v tibble 3.1.6 v dplyr 1.0.8
## v tidyr 1.2.0 v stringr 1.4.0
## v readr 2.0.1 v forcats 0.5.1
## v purrr 0.3.4
## -- Conflicts -------------------------------- tidyverse_conflicts() --
## x tidyr::extract() masks magrittr::extract()
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
## x purrr::set_names() masks magrittr::set_names()
用一个简单的例子进行演示。
# 首先构造一个数据
df <- tibble(
var1 = LETTERS[1:3],
var2 = 1:3
)
# 原数据长这样
df
# A tibble: 3 x 2
var1 var2
<chr> <int>
1 A 1
2 B 2
3 C 3
接下来先进行一些神奇操作:
# 把新旧列名一一对应放到一个数据框里
df_names <- tibble(
new_name = c("col1","col2"),
old_name = c("var1","var2")
)
# 神奇函数 可以把数据框和向量相互转换!
var_names <- deframe(df_names)
var_names
## col1 col2
## "var1" "var2"
再用一个神奇操作:!!!
,就可以实现替换列名!
df_2 <- df %>%
rename(!!!var_names) # 神奇
df_2
# A tibble: 3 x 2
col1 col2
<chr> <int>
1 A 1
2 B 2
3 C 3
神奇操作,列名全被替换了!
以上就是今天的内容,希望对你有帮助哦!欢迎点赞、在看、关注、转发!
欢迎在评论区留言或直接添加我的微信!
欢迎关注公众号:医学和生信笔记
“医学和生信笔记 公众号主要分享:1.医学小知识、肛肠科小知识;2.R语言和Python相关的数据分析、可视化、机器学习等;3.生物信息学学习资料和自己的学习笔记!
往期回顾
2022-02-23
2022-02-24
2022-02-25
2022-02-26
2022-02-27