【问题标题】:I would like to add few items to every item of a vector in R [duplicate]我想为 R 中向量的每个项目添加一些项目 [重复]
【发布时间】:2017-05-03 21:13:26
【问题描述】:

我有 2 个向量。

1 表示服务:

services <- c('service1', 'service2')

1 代表城市:

cities <- c('city1','city2','city3','city4','city5','city6')

我想将它们结合起来创建一个这样的列表:

c('city1 service1', 'city1 service2','city2 service1', 'city2 service2','city3 service1', 'city3 service2','city4 service1', 'city4 service2','city5 service1', 'city5 service2','city6 service1', 'city6 service2')

我想我必须使用 apply,但我无法得到结果。对不起这个愚蠢的问题。

感谢您的帮助!

【问题讨论】:

  • 是的,很抱歉提到的帖子解决了同样的问题

标签: r


【解决方案1】:
services <- c('service1', 'service2')
cities <- c('city1','city2','city3','city4','city5','city6')
n <- length(cities)
paste(cities, rep(services, each=n))

 [1] "city1 service1" "city2 service1" "city3 service1" "city4 service1" "city5 service1"
 [6] "city6 service1" "city1 service2" "city2 service2" "city3 service2" "city4 service2"
[11] "city5 service2" "city6 service2"

【讨论】:

    【解决方案2】:

    你可以使用expand.grid 然后paste

    services <- c('service1', 'service2')
    cities <- c('city1','city2','city3','city4','city5','city6')
    tmp <- expand.grid(services, cities) 
    
    paste(tmp$Var2, tmp$Var1)
    

    【讨论】:

      【解决方案3】:
      services <- c('service1', 'service2')
      cities <- c('city1','city2','city3','city4','city5','city6')
      df <- expand.grid(services, cities)
      res <- paste(df[[1]], df[[2]])
      res
      

      【讨论】:

        猜你喜欢
        • 2015-07-05
        • 1970-01-01
        • 2019-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-31
        • 2019-12-08
        相关资源
        最近更新 更多