假设我有一个两个单词的字符串,我想大写

name <- c("zip code", "state", "final count")

Hmisc软件包有一个函数capitalize,首字母大写,但我不确定

library(Hmisc)
capitalize(name)
# [1] "Zip code"    "State"       "Final count"

我想得到:

c("Zip Code", "State", "Final Count")

那么三个字符串呢:

name2 <- c("I like pizza")

推荐答案

执行大小写的基本R函数是toupper(x).?toupper的帮助文件中有一个函数可以满足您的需要:

simpleCap <- function(x) {
  s <- strsplit(x, " ")[[1]]
  paste(toupper(substring(s, 1,1)), substring(s, 2),
      sep="", collapse=" ")
}

name <- c("zip code", "state", "final count")

sapply(name, simpleCap)

     zip code         state   final count 
   "Zip Code"       "State" "Final Count" 

Edit这适用于任何字符串,不考虑字数:

simpleCap("I like pizza a lot")
[1] "I Like Pizza A Lot"

R相关问答推荐

`tidyr::pivot_longer` 中的 `names_sep` 参数对字符串拆分是否灵活?

在 R 中系统地重命名字符串

提取列包含 NA 值的单元格并根据结果创建一个新列

如果行中至少有一个 Na,则使行 Na

展平嵌套列表并保留每个底层元素的所有父键

如何用来自lower.tri的匹配整数填充矩阵的upper.tri?

如何在两个不同的数据帧上运行 cor.test()

从R中的数字字符串创建单个数字的列总计

减少名称与模式匹配的列

当新列名作为字符向量给出时,在“data.table”中对数据进行分组的好方法

使用mutate_all和cross时如何在case_when中添加列名?

删除不增加基于其他列值的行

有没有办法初始化或修改允许引用先前值的列表?

比较两个矩阵,保持一个矩阵中的值在另一个矩阵中为 TRUE

ggplot 适合图例大小到绘图大小

如何将列变成R中的列名

根据 R 中的出生年份分组人

如何让我的数据正确呈现?

如何将第二个变量添加到直方图 ggplot 并在当前直方图上绘制,从第二个变量添加密度曲线

如何根据固定重复对数字列表进行分组