x <- c("りんご", "みかん", "桃", "バナナ", "西瓜")要素の個数は同じです。
y <- c(0, 2, 0, 2, 1)
"りんご"*0, "みかん"*2, "桃"*0, "バナナ"*2, "西瓜"*1結果として,以下の文字列ベクトルを得たいと思います。
"みかん" "みかん" "バナナ" "バナナ" "西瓜"以下,コードを作成しました。
s <- NULLこれを,apply系関数で書き直すとすれば,どのようになるのか,
for (i in seq_along(x)) {
v <- rep(x[i], y[i])
s <- c(s, v)
}
No.22904 Re: 【R】 apply系関数を使った、文字列の連結 【青木繁伸】 2020/04/29(Wed) 21:14
複数の引数を取れる mapply を使うと良いと思います。
unlist と unname を使う必要があります。unname(unlist(mapply(function(a, b) rep(a, b), x, y)))
No.22905 御礼(Re: 【R】 apply系関数を使った、文字列の連結) 【明石】 2020/04/30(Thu) 10:21
青木先生 様;
お忙しいところを失礼いたします,明石と申します。
毎々,ご丁寧なご教示をいただき,誠にありがとうございます。
今回も,新しい知識を教えてくださり,誠にありがとうございました。
mapply()関数の名前は聞いたことがありますが,
自分が悩んでいた問題で,mapply()関数の使い方をご教示いただけましたので,
よく理解できました。
ありがとうございました。
ありがとうございました。
//
● 「統計学関連なんでもあり」の過去ログ--- 048 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る