如何使用 dplyr 将 R 中单列 data.table 对象的第一个字母转换为大写?

r programmingserver side programmingprogramming更新于 2025/4/7 12:37:17

要在 R 中将单列 data.table 对象的第一个字母转换为大写,我们可以按照以下步骤操作 −

  • 首先,创建一个带有字符串列的 data.table 对象。

  • 然后,使用 dplyr 包的 sub 函数和 mutate 函数将字符串列的第一个字母转换为大写。

示例

创建 data.table 对象

让我们创建一个 data.table 对象,如下所示 −

library(data.table)
Names<-
sample(c("rahul","rosy","hidayah","seema","john","sarbat","shaun","sam","teena","ila","kunal","sudha","anil","yukti","jerry","tom"),25,replace=TRUE)
DT<-data.table(Names)
DT

输出

执行时,上述脚本生成以下输出(由于随机化,此输出将因您的系统而异) −

    Names
1:  teena
2:  teena
3:  seema
4:  shaun
5:  shaun
6:  hidayah
7:  rosy
8:  kunal
9:  tom
10: shaun
11: ila
12: rahul
13: sam
14: rahul
15: teena
16: jerry
17: yukti
18: rosy
19: anil
20: hidayah
21: shaun
22: seema
23: sudha
24: sam
25: anil
    Names

将首字母转换为大写

使用 dplyr 包的 sub 函数和 mutate 函数将 Names 列中的首字母转换为大写 −

library(data.table)
Names<-
sample(c("rahul","rosy","hidayah","seema","john","sarbat","shaun","sam","teena","ila","kunal","sudha","anil","yukti","jerry","tom"),25,replace=TRUE)
DT<-data.table(Names)
library(dplyr)
DT %>% mutate(Names=sub("(.)","\U\1",DT$Names,perl=TRUE))

输出

    Names
1:  Teena
2:  Teena
3:  Seema
4:  Shaun
5:  Shaun
6:  Hidayah
7:  Rosy
8:  Kunal
9:  Tom
10: Shaun
11: Ila
12: Rahul
13: Sam
14: Rahul
15: Teena
16: Jerry
17: Yukti
18: Rosy
19: Anil
20: Hidayah
21: Shaun
22: Seema
23: Sudha
24: Sam
25: Anil
    Names

相关文章