R - 基于另一个数组连接字符串元素

时间:2016-08-18 15:43:22

标签: arrays r string concatenation

我有一个简单的问题,我找到了一个非常复杂的(C时尚)解决方案,我想知道是否有比这简单得多的东西。 我有两个数组:

  y <- c("A","B","C","D","E")
  d <- c(1,3,1)

我需要得到一个数组

"A","B-C-D","E"

因此,根据分发d,汇总由y(或任何其他分隔符)分隔的-元素。

我做了这个

old_y <- y
y <- NULL

k <- 1
for (i in 1:length(d)) {
  y[i] <- as.character(old_y[k])
  j <- 1
  while(d[i]>j) {
    y[i] <- paste0(y[i], "-", as.character(old_y[k+j]))
    j <- j + 1
  }
  k <- k + d[i]
}

1 个答案:

答案 0 :(得分:4)

我们可以在'y'上使用tapply按'd'和'{'复制'd'和'{'}元素的序列分组。

paste