R初学者のCursor活用法:コードの解説機能

はじめに

R初学者の方にとって、Rコードの意味を直感的に理解するのは難しいです。

コードの意味が分からないときはChatGPTなどの生成AIに質問してみましょう。ほとんどの経験者より早く、詳細に解説してくれます。一方で、質問するとき・回答を適用するときの両場面でコードをコピペする手間があること、解析の文脈を理解していないことなど、不便なところもあります。

そこで登場するのがAIエディタです。

AIエディタでは、従来の生成AIの機能に比べて、「コード上から直接質問できる」、「解析の文脈を理解してくれる」という点で明らかに優れています。

そのため、コードの文脈を理解したAIと対話しながら解析を進めることでR学習を加速させることができます。

そこで、今回はAIエディタ「Cursor」にRのコーチを務めてもらう具体的な方法を紹介します。

コード上から直接AIに質問してみよう

CursorのCommand K機能は、コード上から直接AIを呼び出して質問することができます。
Command Kの呼び出し方は、Windowsの場合はctrl+k、MACの場合は⌘ Command+Kでコード上からAIに質問できます。

使用例①

AIに質問したいコードをドラッグで選択し、Command Kを呼び出すと下の画像のようにコードの真上にウィンドウが表示されます。
エディタ上でmodel <- lm(bwt ~ age + race, data = df)を選択し、Command Kのウィンドウに「このコードについて解説して」と入力してquick questionをクリックしてみます。

コードの質問はquick questionをクリック

quick questionは、AIに説明を求めるときに使用します。左側のGenerateボタンは、AIにコードを生成してもらうときに使用します。
質問後、下の画像のように回答が表示されます。

AIの回答

Follow-up question

さらに追加の質問をすることもできます。赤の下線のFollow-up or new code instructionの部分に続けて質問を入力します。
「lm()の他の引数を教えてください」と入力後、再度quick questionをクリックします。
※引数というのは、関数の中で指定するパラメータのことです。

続けて質問を入力


下の画像のように、lm()の他の引数に何があるのか説明してもらえました。

AIの回答

使用例②

次のコードに移ります。
下の画像のようにdf$race<-factor(df$race)を選択し「このコードについて教えて」と指示します。

AIの回答


Follow-up question

続けて、「$はどういう意味ですか?」と質問してみます。

AIの回答


さらに、<-の意味についても質問してみます。

AIの回答


いまさら人に聞けないことも、AIなら気兼ねなく質問できます。

使用例③

levels(df$race) <- c("White", "Black", "Other")を選択し「どういう意味ですか?」とたずねてみます。

AIの回答

Follow-up question


続けて、「c()のcはどういう意味ですか?」と聞いてみます。

AIの回答

使用例④

次の例では、複数行にわたるコードを選択し「このコードを解説して」と指示します。

AIの回答


group_by(ID)とすることで、患者ごとにグループ化して行番号を振っていることがわかりました。

Follow-up question

では、group_by(ID)をしないとどうなるのでしょうか?

「グループ化しないとどうなりますか?」と聞いてみます。

AIの回答

患者ごとに複数行データがあるときは、グループ化 (group_by(患者ID)) により患者ごとに操作することができます。

解析の文脈を考慮して回答してもらおう

AIエディタはデフォルトで編集中のファイルを参照しているため、解析過程で作成された変数やオブジェクトに関する情報を把握しています。

このAIエディタの文脈理解の強みを活かすために、質問する際に「解析過程を考慮し」や「解析の文脈から考えて」といった文言を加えることで、より明確に解析の文脈を考慮した的確な回答を引き出すことができます。

使用例①

下の画像では、df07に、イベント発現患者のみを抽出したデータ(イベント_尿蛋白2とイベント_尿蛋白3)をleft_join()関数で結合したデータフレームを作成しています。 先に作成したデータフレームの内容から、left_join()関数の実行後どのようなデータが生成されるか解説してくれています。

AIの回答

使用例②

下の画像では、もとのデータに含まれたcount列(患者ごとの行番号)が最も小さい、すなわち初回の来院のデータのみを抽出しています。ここまでのデータハンドリングの過程から、データフレームの変数の意味を理解した上で的確な回答してくれています。

AIの回答

詳細で情報量の多い解説が欲しい時:CHAT機能がおススメ

Command Kでは回答のテキスト量に制限があります。

より多いテキスト量で詳細な解説が欲しいときは、CHAT機能を使用しましょう。

例えば、下の画像ではsummary(model)の実行結果がターミナルに出力されている場面を示しています。

この出力結果について解説してもらいましょう。出力結果全体をドラッグして、Add to Chatをクリック、もしくはctrl+shift+Lを押します。

AIの回答


すると、右側に折りたたまれていたAIペインが展開され、CHAT欄が表示されます。

下の画像をみると、赤枠のようにターミナルの選択部分が参照されていることがわかります。

「この出力結果について簡潔に説明して」と入力し、submitをクリックします。

AIの回答


すると、下の画像のように詳細な回答が得られます。

AIの回答

まとめ

今回は、AIエディタを使うことでR初学者の学びを加速させる方法を紹介しました。

Command K機能のquick questionや、CHAT機能を駆使してRコードや出力結果の理解をどんどん深めていきましょう!

コメント