1. ホーム
  2. r

[解決済み] 2つの単語の最初の文字を大文字にします。

2022-04-13 20:59:39

質問

例えば、2つの単語の文字列があり、それを大文字にしたいとします。 の両方が表示されます。

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

Hmisc パッケージには、関数 capitalize で、最初の単語は大文字で表示されますが 2番目の単語を大文字にする方法。のヘルプページでは 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" 

編集 これは、語数に関係なく、どのような文字列に対しても有効です。

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