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

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

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

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

示例

创建data.table对象

让我们创建一个data.table如下所示的 -

library(data.table)
Countries<-
sample(c("india","china","russia","croatia","uk","usa","sudan","nepal","korea","germany","iceland"),25,replace=TRUE)
DT<-data.table(Countries)
DT
输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

   Countries
1:  nepal
2:  india
3:  india
4:  nepal
5:  india
6:  korea
7:  germany
8:  germany
9:  sudan
10: iceland
11: india
12: india
13: nepal
14: korea
15: korea
16: nepal
17: croatia
18: nepal
19: usa
20: croatia
21: usa
22: india
23: nepal
24: germany
25: russia
Countries

将第一个字母转换为大写

使用子函数将国家列中的第一个字母转换为大写 -

library(data.table)
Countries<-
sample(c("india","china","russia","croatia","uk","usa","sudan","nepal","korea","germany","iceland"),25,replace=TRUE)
DT<-data.table(Countries)
DT$Countries_new<-sub("(.)", "\\U\\1",DT$Countries,perl=TRUE)
DT
输出结果
    Countries Countries_new
1:  nepal     Nepal
2:  india     India
3:  india     India
4:  nepal     Nepal
5:  india     India
6:  korea     Korea
7:  germany   Germany
8:  germany   Germany
9:  sudan     Sudan
10: iceland   Iceland
11: india     India
12: india     India
13: nepal     Nepal
14: korea     Korea
15: korea     Korea
16: nepal     Nepal
17: croatia   Croatia
18: nepal     Nepal
19: usa       Usa
20: croatia   Croatia
21: usa       Usa
22: india     India
23: nepal     Nepal
24: germany   Germany
25: russia    Russia
   Countries Countries_new