R lang:带字符串的附加列

时间:2018-06-21 22:33:57

标签: r concatenation

我有以下数据。表

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

我只想在名称列中的每一行后面加上“,Japan”,因为它们是日本的酒店名称。

我发现可以使用粘贴连接字符串,但是如何将其连接到列?

谢谢

1 个答案:

答案 0 :(得分:3)

仅在基数R中

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

或者采用data.table方式

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

或者是tidyverse / dplyr方式

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

样本数据

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)