0
Help us understand the problem. What are the problem?

posted at

updated at

駿台予備校広告のあの答え合わせをRでやってみた

Qiitaの駿台予備校の広告の「あれ」の記事がありましたので、Rでも台無しにしてみました。

動作環境

  • R 4.1.2
  • RStudio 2021.09.1 Build 372

使用パッケージ

今回使用するパッケージはRcppAlgosパッケージです。
以下のサイトのやり取りを参考にさせていただきました。
パッケージ作成者の方の書き込みがドンピシャの回答でした。

RcppAlgosパッケージによるスクリプト

GAKKOU.R
install.packages("RcppAlgos")
library(RcppAlgos)

vec <- c("G","A","K","K","O","U")
tbl_v <- table(vec)

GK <- permuteGeneral(names(tbl_v), 6, freqs = tbl_v)
GK[100,1:6]

3行目:文字列のベクトルvecを作成
4行目:テーブルで文字列の頻度を作成
5行目:permuteGeneral関数で組み合わせを格納するマトリクスGKを作成
6行目:GKの100番目の1番目から6番目の文字列を表示

gtoolsパッケージでは動かず。。。

ちなみに、以下のサイトで紹介されているgtoolsでもやってみたのですが、残念ながら今日現在(2022年1月20日)私の環境では6文字のベクトルで6文字の組み合わせではエラーが出て使えませんでした。残念。

なぜこの記事を作ったのか

先日、電車に乗っていたらこの駿台予備校の広告を目にして、何となくモヤモヤして過ごしていました。

仕事がすこし落ち着いたので、モヤモヤを解決すべくQiitaで調べてみたところ冒頭の記事を見かけました。
これはRでも作れるのではないかということで、調べて記事にしました。
組み合わせの関数やfor文などの基本的な関数を組み合わせたもので作りたかったのですが、仕事で時間が取れないためRの世界中の豊富なパッケージの力を活用させていただきました。
先人の努力に感謝します。
(Thank you Joseph-san for your package to solve this problem)

私自身のモヤモヤがスッキリして、今夜はゆっくり眠れそうです♪

受験生の皆さんへ

色々と不安なこともあるかと思いますが、最後は自分を信じて本番で力を出し切ってください。
皆さんのご健闘を祈っています。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
0
Help us understand the problem. What are the problem?