Slide 1

Slide 1 text

ChatGPT and R Yukihiro Yamaguchi Yakitori.R #3

Slide 2

Slide 2 text

自 己 紹 介 2 山口 征啓(ゆきひろ) ● 北九州市在住 医療系コンサルタント ● 九州大学医療経営・管理学修士課程 ● NobData ChatGPT部 ● R, GAS, Python ● 趣味:パソコン、ランニング、ギター ● Fukuoka.R 初参加です! ID_HelpDesk

Slide 3

Slide 3 text

基本 R love です

Slide 4

Slide 4 text

Yakitori.Rに参加できてとても嬉しいです!!

Slide 5

Slide 5 text

ChatGPTすごい勢いですね

Slide 6

Slide 6 text

ChatGPT package 9つの関数を持つパッケージ ● ChatGPTに質問 ● コードにコメント追加 ● test自動作成 ● document作成 ● コードを説明 ● 問題を発見 ● コード最適化 ● リファクタリング

Slide 7

Slide 7 text

インストールと設定 CRANからダウンロード API_KEYが必要 こちらのサイトを参照しました

Slide 8

Slide 8 text

1. ChatGPTに質問 ask_chatgpt()

Slide 9

Slide 9 text

2. コードにコメント追加 comment_code() あってるけど、英語

Slide 10

Slide 10 text

2. コードにコメント追加 comment_code() 日本語に翻訳依頼

Slide 11

Slide 11 text

コードの問題を発見 find_issues_in_code() 研究に使っているコード(200行ちょい)を入れてみると コードに構文上の間違いはありません。しかし、行の途中にあるコメントがあり、コードの 実行中に問題が発生する可能性があります。これらのコメントは、別の行に置くべきで す。 また、コードの中には、後で混乱を引き起こすかもしれないコメントアウトされた部分があ ります。これらの未使用または不要なコード部分を削除するのが最善です。

Slide 12

Slide 12 text

コード最適化 optimize_code() ファイルをforループで逐次的に処理するよりも、並列処理を使って同時に読み込みと処 理を行うといいよ。パッケージは furrrやfutureがあるね。これは実行時間を大幅に短 縮できるよ。 dplyrはデータ操作に素晴らしいパッケージだけど、大きなデータセットでは時々遅くなる ことがあるよ。data.tableはスピードと効率性で知られるもう一つの優れたパッケージだ から、dplyrの関数をdata.tableの関数に置き換えて、パフォーマンスが良くなるか試し てみて。

Slide 13

Slide 13 text

コード最適化 optimize_code() データの読み書きを頻繁に行っているなら、CSVや他の形式の代わりにRDS形式でデー タを保存するといいかも。RDS形式はRオブジェクトを効率的に保存するために特別に設 計されたバイナリ形式だよ。これは読み書きの時間を大幅に短縮できるよ。 “glue”は文字列補間に柔軟なパッケージだけど、ループ内で繰り返し使用すると遅くな ることがあるよ。ループの外でまずファイルパスを生成して、その生成したファイルパス をループ内で使用してみて。

Slide 14

Slide 14 text

Enjoy!! Yakitori.R 最高でした! これからもよろしくお願いいたします。