文章生成AIを使う(3)

プログラムの作成:ArduinoでLEDを点滅させる
ChatGPTでArduinoでLEDを点滅させるためのプログラムを作成します。下記がプロンプトです。


ArduinoでLEDを点滅させるためのプログラムを教えて。
使用するマイクロコンピュータはArduinoUNOとする。

// ピン番号の定義
const int ledPin = 13;

void setup() {
  // ピンモードの設定
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // LED を点灯させる
  digitalWrite(ledPin, HIGH);
  // 1 秒間待機する
  delay(1000);
  // LED を消灯させる
  digitalWrite(ledPin, LOW);
  // 1 秒間待機する
  delay(1000);
}

プログラムだけでなく下記のような解説もつけてくれます。ChatGPTによるプログラム解説は非常に有用です。


Arduino UNO を使用して LED を点滅させるためのプログラムは以下のようになります。このプログラムでは、Arduino UNO のデジタルピン 13 に接続された LED を 1 秒間隔で点滅させます。
このプログラムを Arduino IDE に貼り付け、ツールメニューからボードとポートを正しく選択した後、アップロードボタンを押すことで Arduino UNO にプログラムが書き込まれます。書き込みが完了したら、LED が 1 秒ごとに点滅することが観察できます。

プログラムの作成:SASで対応のないt検定をする
SASでt検定をするプログラムを作成してもらいます。下記がプロンプトです。


sasで対応のないt検定を行うサンプルプログラムを教えて。infileステートメントは使わずに、プログラム内にデータを書き込む方法でお願いします。

* データセットの作成;
data mydata;
    input group $ value;
    datalines;
group1 10
group1 12
group1 14
group1 15
group1 13
group2 20
group2 19
group2 21
group2 23
group2 22
;
run;

* 対応のないt検定の実行;
proc ttest data=mydata;
    class group;
    var value;
run;

プログラムだけでなく下記のような解説もつけてくれます。プログラムの意味の理解にも役立ちそうですね!


SASで対応のないt検定を行うために、PROC TTESTを使用します。DATAステップでデータを直接プログラム内に記述することができます。以下に、サンプルプログラムを示します。
このサンプルプログラムでは、DATAステップでデータセットmydataを作成しています。datalines以下に、グループ名と値をスペースで区切って記述しています。次に、PROC TTESTを使用して対応のないt検定を実行しています。classステートメントでグループ変数(この例ではgroup)を指定し、varステートメントで検定対象の変数(この例ではvalue)を指定しています。

このサンプルプログラムを実行すると、対応のないt検定の結果が出力されます。


プログラムの作成:SASでもっとワガママ言う
SASでもっと複雑なプログラムを作成してもらいます。サンプルデータも作ってもらいます。

sasで相関行列を作るサンプルプログラムを教えて。infileステートメントは使わずに、プログラム内にデータを書き込む方法でお願いします。データは身長、体重、体脂肪率、足のサイズの4種類、サンプル数は15でお願いします。身長は145から185までの間でランダムに設定し、体重と体脂肪率と足のサイズは、身長からある程度ランダムに推定してください。

* 乱数のシードを設定;
%let seed = 12345;

* データセットの作成;
data mydata;
    call streaminit(&seed);
    do i = 1 to 15;
        height = round(145 + 40 * rand("Uniform"), 1);
        weight = round(height * (18 + 17 * rand("Uniform")) / 100, 1);
        body_fat_percentage = round(10 + 25 * rand("Uniform"), 1);
        shoe_size = round(height / 10 + 8 * rand("Uniform"), 1);
        output;
    end;
    drop i;
run;

* 相関行列の作成;
proc corr data=mydata;
    var height weight body_fat_percentage shoe_size;
run;

解説はこんな感じ。・・・ヤバッ(汗)

SASで相関行列を作成するには、PROC CORRを使用します。以下のサンプルプログラムでは、DATAステップでプログラム内にデータを直接記述し、身長、体重、体脂肪率、足のサイズの4種類の変数と15個のサンプルを持つデータセットを作成しています。
このサンプルプログラムを実行すると、身長、体重、体脂肪率、足のサイズの相関行列が出力されます。データはランダムに生成されており、身長は145から185の範囲で、体重、体脂肪率、足のサイズは身長からある程度ランダムに推定されています。PROC CORRを使用して相関行列を作成し、varステートメントで分析対象の変数を指定しています。

プログラムだけでなく下記のような解説もつけてくれます。プログラムの意味の理解にも役立ちそうですね!


SASで対応のないt検定を行うために、PROC TTESTを使用します。DATAステップでデータを直接プログラム内に記述することができます。以下に、サンプルプログラムを示します。

このサンプルプログラムでは、DATAステップでデータセットmydataを作成しています。datalines以下に、グループ名と値をスペースで区切って記述しています。次に、PROC TTESTを使用して対応のないt検定を実行しています。classステートメントでグループ変数(この例ではgroup)を指定し、varステートメントで検定対象の変数(この例ではvalue)を指定しています。

このサンプルプログラムを実行すると、対応のないt検定の結果が出力されます。


この際もっとSASを行う
・・・えっ!?