Contents
はじめに
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をクリックしてみます。

質問後、下の画像のように回答が表示されます。

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

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

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


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

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

いまさら人に聞けないことも、AIなら気兼ねなく質問できます。
使用例③
levels(df$race) <- c("White", "Black", "Other")
を選択し「どういう意味ですか?」とたずねてみます。

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

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

group_by(ID)とすることで、患者ごとにグループ化して行番号を振っていることがわかりました。
Follow-up question
では、group_by(ID)をしないとどうなるのでしょうか?
「グループ化しないとどうなりますか?」と聞いてみます。

解析の文脈を考慮して回答してもらおう
AIエディタはデフォルトで編集中のファイルを参照しているため、解析過程で作成された変数やオブジェクトに関する情報を把握しています。
このAIエディタの文脈理解の強みを活かすために、質問する際に「解析過程を考慮し」や「解析の文脈から考えて」といった文言を加えることで、より明確に解析の文脈を考慮した的確な回答を引き出すことができます。
下の画像では、df07に、イベント発現患者のみを抽出したデータ(イベント_尿蛋白2とイベント_尿蛋白3)をleft_join()関数で結合したデータフレームを作成しています。 先に作成したデータフレームの内容から、left_join()関数の実行後どのようなデータが生成されるか解説してくれています。使用例①
使用例②
下の画像では、もとのデータに含まれたcount列(患者ごとの行番号)が最も小さい、すなわち初回の来院のデータのみを抽出しています。ここまでのデータハンドリングの過程から、データフレームの変数の意味を理解した上で的確な回答してくれています。

詳細で情報量の多い解説が欲しい時:CHAT機能がおススメ
Command Kでは回答のテキスト量に制限があります。
より多いテキスト量で詳細な解説が欲しいときは、CHAT機能を使用しましょう。
例えば、下の画像ではsummary(model)の実行結果がターミナルに出力されている場面を示しています。
この出力結果について解説してもらいましょう。出力結果全体をドラッグして、Add to Chatをクリック、もしくはctrl+shift+L
を押します。

すると、右側に折りたたまれていたAIペインが展開され、CHAT欄が表示されます。
下の画像をみると、赤枠のようにターミナルの選択部分が参照されていることがわかります。
「この出力結果について簡潔に説明して」と入力し、submitをクリックします。

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

まとめ
今回は、AIエディタを使うことでR初学者の学びを加速させる方法を紹介しました。
Command K機能のquick questionや、CHAT機能を駆使してRコードや出力結果の理解をどんどん深めていきましょう!
コメント