How to convert first letter of multiple string columns into capital in data.table object in R?

R ProgrammingServer Side ProgrammingProgramming

To convert first letter of multiple string columns into capital in data.table object in R, we can follow the below steps −

  • First of all, create a data.table object with string columns.

  • Then, use sub function along with mutate_each function of dplyr package to convert first letter into capital in string columns.

Example

Create the data.table object

Let’s create a data.table object as shown below −

library(data.table)
Names<-
sample(c("rahul","rosy","hidayah","seema","john","sarbat","shaun","sam","teena","ila"," kunal"),25,replace=TRUE)
Level<-sample(c("low","medium","high"),25,replace=TRUE)
DT<-data.table(Names,Level)
DT

Output

On executing, the above script generates the below output(this output will vary on your system due to randomization) −

    Names  Level
1:  seema  high
2:  john   low
3:  rahul  low
4:  kunal  medium
5:  shaun  medium
6:  john   low
7:  kunal  medium
8:  ila    high
9:  sam    low
10: rosy   medium
11: seema  medium
12: ila    medium
13: kunal  medium
14: sarbat high
15: shaun  low
16: sarbat high
17: ila    medium
18: john   high
19: sarbat medium
20: rahul  low
21: sam    low
22: teena  low
23: john   high
24: john   low
25: ila    medium
    Names Level

Convert first letter into capital in multiple columns

Using sub function along with mutate_each function of dplyr package to convert first letter into capital in Names and Level column −

library(data.table)
Names<-
sample(c("rahul","rosy","hidayah","seema","john","sarbat","shaun","sam","teena","ila","kunal"),25,replace=TRUE)
Level<-sample(c("low","medium","high"),25,replace=TRUE)
DT<-data.table(Names,Level)
library(dplyr)
DT %>% mutate_each(funs(sub("(.)","\\U\\1", ., perl=TRUE)))

Output

    Names   Level
1:  Seema   High
2:  John    Low
3:  Rahul   Low
4:  Kunal   Medium
5:  Shaun   Medium
6:  John    Low
7:  Kunal   Medium
8:  Ila     High
9:  Sam     Low
10: Rosy    Medium
11: Seema   Medium
12: Ila     Medium
13: Kunal   Medium
14: Sarbat  High
15: Shaun   Low
16: Sarbat  High
17: Ila     Medium
18: John    High
19: Sarbat  Medium
20: Rahul   Low
21: Sam     Low
22: Teena   Low
23: John    High
24: John    Low
25: Ila     Medium
   Names    Level
raja
Published on 11-Nov-2021 07:17:45

Advertisements