Hami
Hami

Reputation: 345

R lang: Appending column with string

I have the following data.table

     sku                           name
1 256573 Hotel Livemax Yokohama Tsurumi
2 256574               Hidatei Hanaougi
3 256576                Hotel Kashimaso

I just want to append every row in the name column with ", Japan" because they are hotel names in Japan.

I found that I can use paste to join strings, but how to do it to a column?

Thanks

Upvotes: 0

Views: 22

Answers (1)

Maurits Evers
Maurits Evers

Reputation: 50678

In base R simply

df$name <- paste0(df$name, ", Japan")
df
#     sku                                  name
#1 256573 Hotel Livemax Yokohama Tsurumi, Japan
#2 256574               Hidatei Hanaougi, Japan
#3 256576                Hotel Kashimaso, Japan

Or the data.table way

setDT(df)[, name := paste0(name, ", Japan")]
df
#      sku                                  name
#1: 256573 Hotel Livemax Yokohama Tsurumi, Japan
#2: 256574               Hidatei Hanaougi, Japan
#3: 256576                Hotel Kashimaso, Japan

Or the tidyverse/dplyr way

df %>% mutate(name = paste0(name, ", Japan"))
#    sku                                  name
#1 256573 Hotel Livemax Yokohama Tsurumi, Japan
#2 256574               Hidatei Hanaougi, Japan
#3 256576                Hotel Kashimaso, Japan

Sample data

df <- read.table(text =
    "     sku                           name
1 256573 'Hotel Livemax Yokohama Tsurumi'
2 256574               'Hidatei Hanaougi'
3 256576                'Hotel Kashimaso'", header = T, row.names = 1)

Upvotes: 3

Related Questions