R计算访问的城市数

时间:2018-09-28 10:57:39

标签: r dplyr

我有一个数据表,其中包含两个变量,第一列包含一个人访问过的城市数量,另一个列是旅行的等级,例如下面的代码:

trips <- data.frame(
  Cities_Visitted=c("New York/San Diego","Chicago/New York","Chicago/New 
                    York/Los Angeles"),
  Trip_Rating=c(6,8,3))

我还有另一个向量,其中包含城市的完整列表,如下所示:

city_list <- c("New York","Chicago","Los Angeles","Houston","San Diego")

我想要实现的是在旅行数据框中添加一个新列,该列指示每次旅行中包括city_list中的城市数量,结果将是这样的:

               Cities_Visitted Trip_Rating Total_Number_Cities
           New York/San Diego           6                   2
             Chicago/New York           8                   2
 Chicago/New York/Los Angeles           3                   3

反正在R中有实现这一目标的方法吗?

谢谢, 费利克斯

1 个答案:

答案 0 :(得分:2)

纵梁包提供的简单直接答案

library(stringr)
trips$Total_Number_Cities <- str_count(trips$Cities_Visitted, '/') + 1

这将为您提供所需的输出。希望这会有所帮助