【发布时间】:2018-09-12 05:45:10
【问题描述】:
我需要修改一个函数(如下),该函数将使用 dplyr::mutate 按行应用以删除任何“_”字符并将每个单词的第一个字母大写。
simple_cap <- function(x) {
s <- strsplit(x, "_")[[1]]
paste(toupper(substring(s, 1,1)), substring(s, 2),
sep="", collapse=" ")
}
我的数据
df <- read.table(text = c('
location obs
1 australia 12454.
2 new_south_wales 3931.
3 victoria 3244.
4 queensland 2477.
5 south_australia 834.
6 western_australia 1335.
7 tasmania 246.'), stringsAsFactors = F)
dplyr::mutate 电话:
df %>% mutate(
location = simple_cap(location)
)
输出
location obs
1 Australia 12454
2 Australia 3931
3 Australia 3244
4 Australia 2477
5 Australia 834
6 Australia 1335
7 Australia 246
如何更改我的函数,以便它可以用于迭代 df$location 中的值,而不是将它们全部替换为第一个元素的输出?
【问题讨论】:
-
Ronak Shah 和 akrun 为您提供了适用于您的特定问题案例的选项。看看我的回答:你一般是怎么做的。
标签: r string function dataframe dplyr