【发布时间】:2020-09-26 20:34:34
【问题描述】:
概述
我的列中的观察值都用大写字母表示,例如“NORWALK”。但是,我编写了一个函数来转换观察结果,因此它们只有首字母大写,例如“Norwalk”。
代码
library(dplyr)
capitalizeColumn <- function(dataSet, c) { # c for column
dataSet%>%
mutate(c = tolower({{c}}))%>%
mutate(c = toTitleCase(c))
}
df3 <- df3 %>%
capitalizeColumn(ResidenceCity)%>%
rename_all(recode, c= "ResidenceCity")
但是,此代码输出一个名为“c”的列,而我希望它输出原始列的名称,在本例中为“ResidenceCity”。现在我必须使用函数 rename_all 稍后重命名该列,但我希望它在我的 capitalizeColumn 函数中。我尝试在我的函数中使用一些不同的高阶函数,但到目前为止没有任何效果。
【问题讨论】:
-
请展示一个可重现的小例子。 IIN你需要的功能
dataSet %>% mutate(!! c := tolower({{c}} %>% toTitleCase) -
{r} f1 <- tibble( ResidenceCity = "NORWALK") f1 -
{r} capitalizeColumn(f1, ResidenceCity) -
你能显示
toTitleCase函数所属的包 -
它来自库(工具)
标签: r function dplyr rename capitalization