2
私は単純な問題があり、非常に複雑な(Cスタイリッシュな)ソリューションを見つけましたが、これよりはるかに単純な問題があるのだろうかと思います。 Iは、2つの配列を有する:R - 別の配列に基づいて文字列要素を連結する
y <- c("A","B","C","D","E")
d <- c(1,3,1)
を、私は-
(または任意の他のセパレータ)により分離y
の要素を集約するので、分布d
に基づい
"A","B-C-D","E"
として配列を取得する必要があります。
私たちは「Y」一緒に「D」とpaste
「Y」の要素によって複製さ「D」の順序でグループ化された上でtapply
を使用することができ、この
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]
}
ワウ!単にうわー! :) – Stefano