我正在尝试创建一个函数,将data.frame
的所有列重命名为蛇形。这是一个示例:
tibble("DateOfDeath" = NA,
"Death" = NA,
"Operative_Death" = NA) %>%
rename_all(function(x){str_replace_all(string = x,
pattern = '([[:alnum:]])([[:upper:]])([[:lower:]])',
replacement = '\\1_\\2\\3')}) %>%
rename_all(tolower)
我不太清楚为什么我得到的是“ date_ofdeath”而不是“ date_of_death”。看起来字符串中还剩下其他一系列字母数字,大写和小写字母,但是str_replace_all
不能捕获它。
谢谢!
答案 0 :(得分:2)
您还可以使用snakecase
库,该库基本上是为以下目的制作的:
tibble("DateOfDeath" = NA,
"Death" = NA,
"Operative_Death" = NA) %>%
rename_all(to_snake_case)
date_of_death death operative_death
<lgl> <lgl> <lgl>
1 NA NA NA